Lequel des énoncés suivants, le cas échéant, est correct par rapport aux normes?
<!-- Do the links surround the target link object -->
<a href=''><p>Link Description</p></a>
<!-- or does the object type encapsulate the link-->
<p><a href=''>Link Description</a></p>
Je sais qu'ils fonctionnent de la même manière, mais c'est une question de meilleures pratiques/normes. Cela pourrait également s'appliquer à ul/ol.
La seule raison pour laquelle je pense favoriser le <a>
le tag à l'intérieur est dans une situation comme:
<p>This is a longer sentence with a <a href=''>short link here</a></p>
Merci!
Le premier exemple n'est autorisé qu'en HTML5.
Le deuxième exemple est autorisé dans toutes les versions de HTML/XHMTL.
Vous ne pouvez pas envelopper un élément de bloc avec un élément en ligne. Vous devez le faire de cette façon:
<p><a href=''>Link Description</a></p>
Il s'agit de la norme W3C. Vérifiez ceci !
Depuis HTML 5, les balises d'ancrage (<a></a>
) sont autorisés à envelopper presque tout, y compris les paragraphes. Donc, l'un ou l'autre exemple est valide, même si j'ai tendance à préférer avoir des ancres dans les paragraphes.
les ancres (a) doivent se trouver à l'intérieur d'un élément de bloc. Alors
<p><a>...</a></p>
Je dirais le second, que le <p>
n'hérite pas des attributs de <a>
et en conservant sa mise en forme d'origine.
Éléments en ligne tels que <a>
sont souvent contenus dans des éléments de niveau bloc tels que <p>
. Les éléments de bloc fournissent la structure nécessaire pour présenter vos données.
Je mets toujours le <p>
balises à l'intérieur sauf si la quantité de texte est importante.