28172 sujets

CSS et mise en forme, CSS3

Bonjour tout le monde.

J'ai un problème avec du CSS, qui n'est vraiment pas ma spécialité. Pour ce petit bout de code html par exemple :
<ul id="barreMenu">
    <li>
        <a href="">Niveau 1</a>
        <ul>
            <li><a href="">Niveau 2</a></li>
            <li><a href=""></a></li>
        </ul>
    </li>
</ul>

J'utilise le style suivant pour mettre (toujours par exemple) mes liens de premier niveau en rouge :
ul#barreMenu li a { color:#F00; }

Le problème est que mes menus de second niveau sont aussi en rouge. Comment faire, sans classe pour limiter la "portée" de mon style au niveau indiqué dans le Css ?

Merci beaucoup !
Modifié par Shudrum (08 Dec 2009 - 12:52)
Bonjour,

Shudrum a écrit :
Comment faire, sans classe pour limiter la "portée" de mon style au niveau indiqué dans le Css ?
Il faut redéfinir la couleur des liens de second niveau.
Salut,

Si le support de IE6 + ancêtres n'est pas critique pour ton site, il y a un sélecteur CSS prévu spécialement pour ça :
#barreMenu > li > a
Salut.

Merci beaucoup pour ta réponse, c'est effectivement ce que j'avais fini par utiliser en lisant les liens ci-dessus.

Par contre je ne savais pas qu'il y avait des problèmes de compatibilité IE avec les li>ul, je n'ai pas encore testé les différences.

Merci encore.