2010-05-12 10 views
0

Hey les gars (et filles),CSS dernier enfant émet

J'ai mis en œuvre le CSS suivant:

#tab-navigation ul li:last-child { 
    background-image: url(../images/tabs-end.gif); 
    background-repeat: no-repeat; 
    color: #fff; 
    display: block; 
    border: 1px solid red; 
    background-position: right; 
} 

Cependant, pour une raison quelconque cela ne fonctionne pas du tout dans IE (surprise!) - Je lis (après quelques recherches) que IE nécessite un DOCTYPE, mais j'ai déjà défini <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">.

Avez-vous des idées?

Répondre

1

IE ne prend pas en charge le sélecteur: lastchild correctement.

Pour une liste comprihensive de compatibilité voir http://www.quirksmode.org/css/contents.html

Je suggère d'ajouter une class = « dernière » côté serveur sur le terrain, ou appliquer l'effet avec JavaScript en utilisant http://api.jquery.com/last-child-selector/.

+0

Merci Mex, j'ai fini par utiliser: $ ("# tab-navigation ul li: dernier-enfant") .css ({border: "1px solid red"}) - Merci. –

+0

S'il vous plaît noter que vous ne devriez le faire de cette façon que si ... a) Vous pouvez garantir que vos utilisateurs ont activé JS. b) Votre site est toujours utilisable sans effet. – Mex

0

This table indique que last-child n'est pris en charge dans aucun navigateur IE. Ajoutez-y une classe et sélectionnez-la de cette façon.

0

Simple: IE ne prend pas en charge last-child. Vous devrez marquer le dernier élément avec une classe.

2

IE ne supporte pas last-child sélecteur.

Vous pouvez utiliser des scripts tels que http://code.google.com/p/ie7-js/ pour activer les sélecteurs CSS3 dans tous les navigateurs IE.

+0

Est-ce que cela fonctionne réellement? – Kyle

+0

Absolument. http://ie7-js.googlecode.com/svn/test/index.html – Dogbert

+0

Il va certainement falloir se pencher là-dessus! – Kyle