28217 sujets

CSS et mise en forme, CSS3

Je me posais la question, est-il correcte d'écrire :


#id.class1.class2 {
 /* propriétés de l'element "id" de classes "class1" et "class2" */
}


Je n'ai pas trouvé d'exemples dans les specs et certains navigateurs gèrent ça correctement, d'autres pas du tout (IE anciennes versions).
Modifié par jb_gfx (06 Jun 2005 - 15:48)
jb_gfx a écrit :
Je me posais la question, est-il correcte d'écrire :


#id.class1.class2 {
 /* propriétés de l'element "id" de classes "class1" et "class2" */
}



On est pas le 1er avril pourtant Smiley eek

<div id="id" class="class1 class2">mon div</div>
#id {
 /* propriétés de l'element "id" de classes "class1" et "class2" */
}


Il ne peut y avoir qu'un seul id, donc ? Smiley rolleyes
chmel a écrit :
Il ne peut y avoir qu'un seul id, donc ? Smiley rolleyes

Il ne faut pas être sectaire... il peut parfois etre très judicieux de modifier une définition d'ID à l'aide de classe en fonction du contexte.

Je rappelle aussi que les ID (et eventuellement CLASS) ne sont pas utile qu'aux CSS, mais aussi au JavaScript.

Néanmoins, c'est vrai que la méthode que tu décrit jb_gfx est assez etonnante ! en effet, si tu veux appliquer plusieur class à un element, il te suffit de les définir séparement. En suite, si tu veux obtenir une nouvelle class qui va correspondre à la class1 + la class2 +- autre chose, il est plus simple de definir une 3eme classe... non ? Smiley cligne
C'est bien ça, imaginons les blocs #entete et #pied et une classe par langue .en, .fr, etc.

Les classes par langues pourraient avoir différente valeur selon l'id du bloc auxquel elles sont appliquées : #entete.en different de #pied.en, etc.

Puis les autres classes permettent de modifier encore l'apparence en fonction d'autres paramètres que la langue, et ainsi de suite, par exemple : #menu.en.contact...


Dans le cadre de sites dynamiques ça peut être pratique pour l'écriture, pour eviter de réécrire la même chose pour plusieurs classes justement.

Ma question était de savoir si ce genre de sélecteurs sont autorisé en CSS car je n'ai pas vu d'exemples dans les specs et j'ai eu des soucis sur certains navigateurs, c'est surtout #id.classe qui posait problème si je me rappelle bien (désolé j'suis un peu à boût aujourd'hui).

PS : Merci je sais ce que sont un id et une classe Smiley cligne
Modifié par jb_gfx (31 May 2005 - 16:32)
A priori aucun problème a utiliser un sélecteur du type #id + multiples classes, et c'est trés pratique dans le cadre de sites dynamiques pour optimiser ses feuilles de styles.

Y'a que IE5 qui fait des siennes mais on a l'habitude.

On va dire que c'est résolu donc.