web-dev-qa-db-fra.com

La balise P-end (</p>) n'est pas nécessaire en HTML

</p> n'est requis qu'en XHTML mais pas en HTML. Parfois, vous devez quand même le fermer, par ex. lorsque vous alignez le paragraphe gauche/droite/centre.

Mélangerait l'utilisation de </p> comme dans ce qui suit est une mauvaise idée? Notez qu'il n'y a pas de fin </p> tag dans les 1er et 3e paragraphes.

<h1>My article</h1>
<p>This is my 1st paragraph.
<p class="align=right">This is my 2nd paragraph</p>
<p>This is my 3rd paragraph.

Raisons pour lesquelles je ne veux pas fermer les P-tags:

  • Facile à travailler avec mon CMS (code plus exigeant pour le rendre XHTML)
  • Fichiers 1kb plus légers
28
Hakan

La balise P-end n'est requise qu'en XHTML, pas en HTML.

Correct

Mais parfois, vous devez le fermer de toute façon, par exemple. lorsque vous alignez le paragraphe gauche/droite/centre.

Incorrect. La seule fois où vous avez besoin d'une balise de fin explicite, c'est quand vous voulez terminer le paragraphe et le suivre immédiatement par quelque chose qui est autorisé à l'intérieur d'un paragraphe (comme du texte ou un élément en ligne). C'est généralement une mauvaise idée.

Serait-ce pour une raison quelconque une mauvaise idée de mélanger l'utilisation de P-end-tag

Seule cette cohérence est une vertu qui facilite la maintenance du code.

38
Quentin

Je ne peux penser à aucune raison pour laquelle vous ne pourriez pas faire cela, mais j'encouragerais fortement à utiliser les balises de début et de fin partout pour la cohérence. Cela vous facilitera également la tâche lorsque vous déciderez de commencer à suivre les normes XHTML.

3
ziesemer

Citation HTML5 qui indique clairement quand p peut être omis

Puisque c'est pourquoi la plupart des Googleurs doivent venir ici: 4.4.1 "L'élément p" https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-element =

Omission de balise dans text/html:

La balise de fin d'un élément p peut être omise si l'élément p est immédiatement suivi d'une adresse, d'un article, d'un côté, d'une blockquote, de détails, div, dl, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5 , h6, en-tête, hgroup, hr, main, menu, nav, ol, p, pre, section, table ou ul, ou s'il n'y a plus de contenu dans l'élément parent et que l'élément parent est un élément HTML qui est pas un élément a, audio, del, ins, map, noscript ou video, ni un élément personnalisé autonome.

Il convient de noter que quelques autres balises de fermeture peuvent également être omises, par exemple li: https://html.spec.whatwg.org/multipage/grouping-content.html#the-li-element

La liste complète se trouve au 12.1.2.4 "Balises facultatives" https://html.spec.whatwg.org/multipage/syntax.html#optional-tags

Je ne recommande cependant pas de le faire comme d'autres l'ont mentionné.

Cette "fonctionnalité" HTML est l'une des raisons pour lesquelles HTML5 n'est pas un sous-ensemble de XML .

Il vous suffit de terminer le dernier <p> tag. Exemple:

<p align="left">Left
<p align="center">Center
<p align="right">Right</p> <!-If you don't put an ending tag, the text will continue in the same line
<p>End</p>

De plus, il est plus rapide et réduit la mémoire du fichier HTML.

0
Boda