J'ai récemment eu un débat avec un collègue qui a affirmé qu'une <div>
balise devrait être utilisée sur une <p>
balise lors du formatage des paragraphes.
L'argument contre l'utilisation de <p>
est qu'il produit un espacement irrégulier entre les navigateurs et qu'il est susceptible de devenir obsolète comme la <b>
balise.
Cette opinion du <p>
tag est-elle partagée par la communauté?
<b>
(et<i>
d'ailleurs) sont loin d'être obsolètes. Vérifiez la spécification HTML5.<strong>
et<em>
doit toujours être utilisé pour mettre l'accent.<b>
et<i>
sont déconseillés à cet égard, mais ils ont une utilisation légitime, bien que limitée, en HTML5.Réponses:
div
s etp
s sont à des fins complètement différentes.p
est pour les paragraphes,div
est pour les divisions en sections. L'une concerne la mise en forme du texte, l'autre la structure de la page. Il est sémantiquement incorrect d'utiliserdiv
à la place dep
.Et la raison pour laquelle l'utilisation de
b
est découragée est qu'il s'agit d'une balise de présentation. Il n'a pas de sens sémantique. Les deuxp
etdiv
ont leurs propres significations sémantiques uniques.p
ne sera jamais obsolète tant que les gens formateront toujours le texte en paragraphes.Votre collègue ne semble pas connaître le principe de séparation du contenu et de la présentation . Sinon, il saurait pourquoi
b
est abhorré et que les problèmes de présentation comme l'espacement du texte doivent être définis en CSS, pas en HTML.la source
p { margin: 1em 0 }
rend toute cette question théorique.<b>
a maintenant une signification sémantique: "L'élément b représente une étendue de texte sur laquelle l'attention est attirée à des fins utilitaires sans transmettre aucune importance supplémentaire et sans implication d'une voix ou d'une humeur alternative, comme les mots clés dans un résumé de document, les noms de produits dans une revue, des mots exploitables dans un logiciel interactif basé sur du texte ou une rubrique d'article. ( source )<p>
et<div>
ne sont pas destinés au même but, car ils ont une signification sémantique différente:<p>
est pour le paragraphe,<div>
est de "proposer un mécanisme générique pour ajouter une structure aux documents", comme indiqué dans la spécification HTML div du W3C<p>
ne sera peut-être plus obsolète à l'avenir car il est toujours présent dans XHTML et HTML 5.Les deux balises ont un rendu graphique différent. UNE
<p>
a une marge supérieure et inférieure de 1em, tandis que<div>
a n'a aucune marge du tout. Mais ce point est secondaire car il peut être remplacé par CSS.Notez également cette différence: alors que les deux balises sont de type "bloc", seules
<div>
peuvent contenir d'autres éléments de bloc. Donc:<p><p> bla </p></p>
est faux, alors<div><div> bla </div></div>
est okLe point important à retenir est que les deux balises sont valides et utilisées, mais pas dans le même but.
la source