Réponses:
Une balise doit toujours être fermée par le symbole de fermeture de balise >
(si nous ignorons certaines règles SGML qui s'appliquent nominalement en HTML non XHTML mais qui n'ont jamais été implémentées dans les navigateurs).
Ce que vous voulez dire, c'est si les éléments doivent être fermés par des balises de fin. La réponse est que le HTML non XHTML (y compris HTML5 dans la sérialisation HTML), aucune balise de fin n'est requise ou autorisée pour les éléments meta
et link
. Dans la pratique, cependant, les navigateurs ignorent simplement les balises de fin explicites pour eux, ainsi que le culte du fret /
avant >
, si vous les utilisez. Et HTML5 fait de cette permissivité une règle en autorisant même formellement la /
sérialisation en HTML.
En XHTML, les règles XML s'appliquent, donc chaque élément, sans exception, doit avoir à la fois une balise de début et une balise de fin, mais la même balise peut être utilisée pour les deux rôles si le contenu de l'élément est vide, par exemple <meta name="foo" content="bar"/>
comme abréviation de <meta name="foo" content="bar"></meta>
. Si vous ne respectez pas cette règle lors de la diffusion d'un document avec un type de contenu XML (XHTML) à un navigateur conforme, alors votre document ne s'affiche pas du tout; un message d'erreur s'affiche à la place.
Lorsque vous utilisez un serveur XHTML avec le type de contenu HTML ( Content-Type: text/html
), comme les documents XHTML sont presque toujours sur le Web, les navigateurs appliqueront en fait les règles HTML non XHTML.
Résumer:
<meta ...>
sans/
<meta ... />
, faites-le; ce n'est pas utile, mais cela ne cause aucun mal (sauf si vous essayez de valider par exemple contre le doctype HTML 4.01)./
avant >
»). Je pensais juste que je clarifierais pour éviter de brouiller Internet avec plus de confusion. </pedant_alert>
:)
Cela dépend du doctype. HTML5 n'a pas besoin de la fermeture. XHTML le fait.
En HTML5, les éléments dits void (éléments qui ne peuvent pas avoir de contenu) n'ont pas besoin de fermeture, car ils se referment automatiquement. Mais c'est toujours valable si vous les fermez.
En savoir plus ici: void-elements