web-dev-qa-db-fra.com

Html: Quel est l'ordre correct des balises <a> et <p>?

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!

26
j_syk

Le premier exemple n'est autorisé qu'en HTML5.

Le deuxième exemple est autorisé dans toutes les versions de HTML/XHMTL.

47
edeverett

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 !

15
ChristianB

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.

5
Karl Nicoll

les ancres (a) doivent se trouver à l'intérieur d'un élément de bloc. Alors

<p><a>...</a></p>
2
George Kastrinis

Je dirais le second, que le <p> n'hérite pas des attributs de <a> et en conservant sa mise en forme d'origine.

2
mrkva

É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.

2
George Cummins

Je mets toujours le <p> balises à l'intérieur sauf si la quantité de texte est importante.

1
Mertis