28172 sujets

CSS et mise en forme, CSS3

bonjour tout le monde !

j'ai un problème tout bête mais qui me casse d'autant plus la tête !

rendez-vous sur http://www.entrezsansfrapper.net/partenaires.html

Le problème est que a balise h2 ne récupère pas la couleur souhaitée :

<p class="partenaires">
   <h2>hiha</h2>
</p>



.partenaires h2 {background-color: #0f0; display :inline}


une idée !!?
Modifié par sgcib (06 Aug 2008 - 14:59)
Hello,

<p> ne peut pas contenir d'éléments de type block. C'est comme si ton code devenait
<p class="partenaires"></p><h2>hiha</h2>
pourtant p est bien de type block lui même non ?
C'est une particularité à cette balise ??

arf je vais me replonger dans les docs Smiley smile

Merci !

edit: ah non <p> est un élément de type inline... je viens d'apprendre quelque chose aujourd'hui, merci Smiley smile
Modifié par sgcib (06 Aug 2008 - 14:58)
a écrit :
edit: ah non <p> est un élément de type inline...


Non, p est un élément de type block ne pouvant contenir que des éléments de type inline. Smiley cligne
arf ! donnez moi un mur que je me tape la tête dessus !

Enfin en y réfléchissant, ça semble logique Smiley sweatdrop
sgcib a écrit :
pourtant p est bien de type block lui même non ?

Ben oui, et alors?

Les éléments HTML sont notamment définis par les éléments qu'ils peuvent contenir. Pour l'élément P, il s'agit des éléments regroupés dans les DTD HTML 4.01 dans le groupe %inline, qui contient les éléments suivants:
a écrit :
TT, I, B, BIG, SMALL, EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, ACRONYM, A, IMG, OBJECT, BR, SCRIPT, MAP, Q, SUB, SUP, SPAN, BDO, INPUT, SELECT, TEXTAREA, LABEL, BUTTON


Pour référence:
http://www.w3.org/TR/REC-html40/struct/text.html#edef-P
http://www.w3.org/TR/REC-html40/sgml/dtd.html#inline

a écrit :
C'est une particularité à cette balise ??

Non. C'est le cas également, pour les éléments de type bloc, des éléments H1, H2, H3, H4, H5, H6, ADDRESS, PRE, DT, LEGEND et CAPTION.

a écrit :
arf je vais me replonger dans les docs Smiley smile

Et valider

a écrit :
ah non <p> est un élément de type inline... je viens d'apprendre quelque chose aujourd'hui, merci Smiley smile

Tu peux le désapprendre de suite, car c'est faux. Smiley lol

Pour être clair:
- Les DTD HTML 4.01 ne parlent pas d'éléments de type bloc et d'éléments de type en-ligne. Elles utilisent des «familles» (qui sont en fait uniquement des raccourcis d'écriture) telles que %inline et %block, mais tous les éléments n'appartiennent pas à ces deux familles. De même, la famille %flow regroupe les familles %inline et %block, mais tous les éléments HTML ne font pas partie de %flow (sauf erreur de ma part, les éléments TITLE, META, LINK, BASE et STYLE ne font pas partie de %flow, de même que HTML, HEAD et BODY).
- La spécification HTML 4.01 parlent d'éléments de type bloc (parmi lesquels on retrouve P) et d'éléments de type en-ligne, et on peut voir cela comme un raccourci pédagogique particulièrement utile. Smiley smile
- Ce sont les DTD qui décrivent formellement HTML (je ne suis pas sûr que «décrire formellement» soit la formulation adéquate), et notamment: 1) les éléments et attributs existants et 2) le type de contenu qu'ils acceptent.
Florent V. a écrit :

ah non <p> est un élément de type inline... je viens d'apprendre quelque chose aujourd'hui, merci Smiley smile

Tu peux le désapprendre de suite, car c'est faux. Smiley lol


hein oublier quoi déjà ?? Smiley cligne

Enfin grâce à toi je commence à pouvoir décrypter le charabia

<!ELEMENT P - O ([b]%inline;[/b])*            -- paragraph -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

qu'on retrouve de partout dans les docs !

J'avoue que je n'avais jamais pris le temps de regarder ça de plus près, honte à moi !