Bonjour,

Je souhaiterai faire ceci :
<h1><dt>Annonces moto</dt></h1> 

plutôt que cela :
<dt><h1>Annonces moto</h1></dt>


En effet, avec <dt><h1> j'obtiens une mise en page trop éloignée du résultat escompté, alors qu'avec <h1><dt> tout baigne !

Mais cette imbrication est-elle correcte ?
Modifié par karnabal (07 Jun 2006 - 11:11)
Bonjour,
<h1><dt>Annonces moto</dt></h1> 

Non je ne pense pas, ça n'est pas sémantiquement correct et à mon avis invalide.
Tu ne peux pas sortir de la logique
<dl><dt><dd></dd></dt></dl>
Hermann a écrit :
Bonjour,

Tu ne peux pas sortir de la logique
<dl><dt><dd></dd></dt></dl>


Tu veux dire :

<dl>
   <dt>blabla</dt>
   <dd>blabla</dd>
</dl>


Et il est effectivement impossible d'utiliser des balises bloc dans les listes de définition.
karnabal a écrit :
En effet, avec <dt><h1> j'obtiens une mise en page trop éloignée du résultat escompté, alors qu'avec <h1><dt> tout baigne !

La mise en page, les CSS sont là pour ça !
Qu'est-ce qui cloche dans cette configuration ? Le texte est trop gros ? Tu as trop d'espaces blancs ?
dt h1 {margin: 0; font-size: 1.2em;}


Au fait, pourquoi un h1 dans une liste de définition ?
Pour rappel, un h1 est un titre de section de niveau 1 (le plus élevé), et introduit généralement soit tout un document, soit une des principales sections de la page (zone de contenu, titre de la page, etc.)
Merci de vos réponses.

a écrit :
Au fait, pourquoi un h1 dans une liste de définition ?


Eh bien car la liste est celle d'un menu de navigation et lorsque l'internaute clique sur le lien "Annonces moto", il arrive sur la page de la rubrique concernée (Annonces moto), et le lien devient alors <h1>.

La page exemple est ici, c'est un aperçu du résultat que je souhaite obtenir.
<dt><h1>...</h1></dt> est invalide. DT est un élément bloc qui n'accepte que du contenu en ligne.

<h1><dt>...</dt></h1> est tout aussi invalide, car premièrement DL ne peut contenir que DT et DD, et deuxièmement, H1 est un élément de type bloc qui ne peut contenir que des éléments en ligne.

D'ailleurs, ça n'a aucun sens. Un titre, c'est généralement court, il n'y a pas à y mettre une défintitiion à l'intérieur. Par contre il est vrai que le DT suivi du Hn est plus tentant ... mais malheureusement invalide.
Bonjour,

Je me permet de relancer ce sujet, à savoir quelqu'un sait-il pourquoi il est invalide de mettre un hn dans un dt ou dd ? Le dt encore, pourquoi pas, puisque il a déjà cette notion de titre, mais dans un dd, je ne comprend pas, le li les accepte bien…
Modifié par zzzazzz (17 Dec 2006 - 11:47)
Bonjour.

La logique veut que dd accepte tout ce dont on a besoin pour élaborer la définition d'un terme.
http://www.la-grange.net/w3c/html4.01/struct/lists.html#h-10.3
a écrit :

Les listes de définitions varient seulement de manière minime par rapport aux autres types de liste dans la mesure où les items de liste consistent en deux parties : un terme et une description. Le terme est donné par l'élément DT et se restreint à un contenu de type en-ligne. La description est donnée par un élément DD qui porte un contenu de type bloc..


Pour dt, le contenu est inline, donc ne peux pas contenir de block, dd par contre l'autorise.
Modifié par GeorgesM (17 Dec 2006 - 12:21)