Bonjour,
Je suis confrontée à un problème qui me paraît mystérieux et incompréhensible.
Voyez sur la page home : http://www.dzana.net/ la façon dont est écrite la date de chaque billet. Sur trois lignes (nom du jour, numéro du jour, mois et année). Le tout englobé dans un div en float right.
Mon fichier xhtml présente donc ça comme ça (je simplifie) :
Et mon CSS :
Tout va bien, ça marche. Sauf que j'ai plein de calendriers sur ma page et que donc ça me fait plein de div id="nom_jour", de div id="numero_jour" et de div id="mois_annee". Ce qui est invalide XHTML 1.0 strict (puisqu'un id ne doit être attribué qu'une seule fois par page, contrairement à une class qui peut être attribuée à autant d'éléments qu'on veut)
J'ai donc pensé remplacer tous ces id par des class, ce qui donne :
Et dans la CSS remplacer les # par des . :
Et là... les styles ne sont plus appliqués. Rien du tout, c'est comme si je n'avais pas défini mes class.
Pourquoi cela marche-t-il avec des id et pas avec des class ??? Est-ce une histoire d'imbrication et d'héritage ? Comment résoudre ce problème ?
Merci d'avance,
Dzana
Modifié par Dzana (10 Jan 2008 - 23:56)
Je suis confrontée à un problème qui me paraît mystérieux et incompréhensible.
Voyez sur la page home : http://www.dzana.net/ la façon dont est écrite la date de chaque billet. Sur trois lignes (nom du jour, numéro du jour, mois et année). Le tout englobé dans un div en float right.
Mon fichier xhtml présente donc ça comme ça (je simplifie) :
<div class="calendrier">
<span id="nom_jour">Mardi</span><br />
<span id="numero_jour">16</span><br />
<span id="mois_annee">avril 1916</span>
</div>
Et mon CSS :
.calendrier {bla bla bla}
#nom_jour {bla bla bla}
#numero_jour {bla bla bla}
#mois_annee {bla bla bla}
Tout va bien, ça marche. Sauf que j'ai plein de calendriers sur ma page et que donc ça me fait plein de div id="nom_jour", de div id="numero_jour" et de div id="mois_annee". Ce qui est invalide XHTML 1.0 strict (puisqu'un id ne doit être attribué qu'une seule fois par page, contrairement à une class qui peut être attribuée à autant d'éléments qu'on veut)
J'ai donc pensé remplacer tous ces id par des class, ce qui donne :
<div class="calendrier">
<span class="nom_jour"><br />
etc...
</div>
Et dans la CSS remplacer les # par des . :
.calendrier {bla bla bla}
.nom_jour {bla bla bla}
etc...
Et là... les styles ne sont plus appliqués. Rien du tout, c'est comme si je n'avais pas défini mes class.
Pourquoi cela marche-t-il avec des id et pas avec des class ??? Est-ce une histoire d'imbrication et d'héritage ? Comment résoudre ce problème ?
Merci d'avance,
Dzana
Modifié par Dzana (10 Jan 2008 - 23:56)