182 votes

Avez-vous besoin de fermer les balises meta et link en HTML ?

Je lisais simplement le code HTML de quelqu'un qui n'a jamais fermé les balises meta et link dans la section head du HTML. Le code fonctionnait bien; est-il facultatif de fermer ces balises?

Je pensais que ce serait malformé si une balise n'était pas fermée.

217voto

Jukka K. Korpela Points 71599

Une balise tag doit toujours être fermée par le symbole de fermeture de balise > (si nous ignorons certaines règles SGML qui s'appliquent nominalement dans le HTML non-XHTML mais n'ont jamais été implémentées dans les navigateurs).

Ce que vous voulez dire, c'est que les éléments doivent être fermés par des balises de fin. La réponse est que dans le HTML non-XHTML (y compris HTML5 en sérialisation HTML), aucune balise de fin n'est requise ou autorisée pour les éléments meta et lien. En pratique, cependant, les navigateurs ignorent simplement les balises de fin explicites pour eux, ainsi que le / avant >, si vous les utilisez. Et HTML5 rend cette permissivité une règle en permettant même officiellement le / en sérialisation HTML, aussi.

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 comme abréviation de . Si vous enfreignez cela en servant un document avec un type de contenu XML (XHTML) à un navigateur conforme, alors votre document n'est pas du tout affiché ; un message d'erreur est affiché à la place.

Lorsque vous utilisez un serveur XHTML avec le type de contenu HTML (Content-Type: text/html), comme les documents XHTML le sont presque toujours sur le web, alors les navigateurs appliqueront en réalité les règles du HTML non-XHTML.

Pour résumer :

  • normalement, utilisez simplement sans /
  • si vous utilisez vraiment XHTML dans un contexte où l'analyse XHTML est réellement appliquée, respectez les règles XML (et assurez-vous de les connaître)
  • si votre patron vous dit d'écrire , faites-le ; ce n'est pas utile, mais cela ne cause aucun dommage (sauf si vous essayez de valider par exemple contre la doctype HTML 4.01).

43voto

Sebsemillia Points 8808

Cela dépend du doctype. HTML5 n'a pas besoin de la fermeture. XHTML en a besoin.

En HTML5, les éléments dits vides (éléments qui ne peuvent pas avoir de contenu) n'ont pas besoin de fermeture, car ils se ferment automatiquement. Mais il est toujours valide de les fermer.

En savoir plus ici : éléments vides

-3voto

Ashish Points 1

Les balises Meta sont normalement fermées avec cette balise de fin> au lieu de /> comme

-4voto

Mansi Sharma Points 3

En HTML, vous devez généralement fermer les balises meta, mais vous n'avez pas besoin de fermer les balises de lien.

Les balises meta fournissent généralement des métadonnées sur le document HTML, et ce sont des balises auto-fermantes, ce qui signifie qu'elles n'ont pas de balise de fermeture. Par exemple:

Quant aux balises de lien, elles sont utilisées pour lier des ressources externes comme les feuilles de style et sont également auto-fermantes. Par exemple:

Dans les deux cas, la balise de fermeture n'est pas requise car ces balises sont autonomes et n'enclosent aucun contenu. Elles sont destinées à fournir des informations ou à faire référence à des ressources externes, donc elles n'ont pas de balise de fermeture correspondante.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X