Bonjour,

Je débute totalement en css et il y a quelque chose que je ne comprends pas très bien.

Quelle est la différence entre :

1/ p#menu {text-align:left;}

et

2/ #menu p {text-align:left;}

c'est quoi la subtilité ?
Merci d'avance
Stéphane
Administrateur
Hello,

Ce sont deux sélecteurs complètement différents :

Donc par exemple :
- p#menu désigne un seul élément : le <p> qui a pour id "menu"
- #menu p désigne tous les éléments <p> qui sont contenus dans un élément (inconnu) qui a pour id "menu"

Petit truc : un espace dans un sélecteur désigne forcément une notion de hiérarchie ("est contenu dans").
Modifié par Raphael (14 Mar 2010 - 20:34)
Arf ! J'avais mal lu : je croyais que la question concernait la différence entre p#menu et #menu Smiley cligne
merci

j'ai bien compris le #menu p mais désolé je ne pige pas le p#menu, en fait je ne vois pas son utilité ?

merci

Stéphane
luxivy a écrit :
je ne pige pas le p#menu, en fait je ne vois pas son utilité ?
Ben comme l'a dit Raphaël cela cible le paragraphe ayant pour id menu :
<p id="menu">Du contenu.</p>


A lire : les sélecteurs CSS 2.1

Si ce que tu ne comprends pas est pourquoi on ne met pas tout simplement #menu la réponse était dans mon premier post. Smiley cligne
Modifié par Heyoan (14 Mar 2010 - 22:08)
L'utilité de p#menu est uniquement d'appliquer un style à <p id="menu">.

Autrement dit, si une page avait un <div id="menu">, elle ne prendrait pas en compte le style défini pour p#menu. Hormis cas très particulier, autant utiliser juste #menu (par définition, un id est unique, donc autant éviter de l'utiliser pour plusieurs choses).