Question

Selon http://www.w3.org/TR/html401/interact/forms.html#h-17.4, un élément d'entrée doit se terminer par un seul > et pas un />.Bien que la plupart des navigateurs peuvent manipuler un élément de saisie se termine avec />, est un élément d'entrée valide selon la syntaxe HTML des règles?En d'autres termes, sont des éléments comme <input ... /> et <br /> valable dans HTML 4?

(Cette question est sur le HTML et pas en XHTML!!!)

Était-ce utile?

La solution

La syntaxe est la suivante valide dans certains lieux mais ne signifie pas la même que dans le XHTML, afin de ne pas les utiliser.

En HTML 4 <foo /> (où foo est le nom d'un élément défini comme VIDE) signifie la même chose que <foo>> ce qui signifie la même chose que <foo>&gt; (bien que presque aucun navigateur prend en charge la syntaxe correctement, Emacs-W3, mais a cassé la compatibilité avec la norme en faveur de la reddition de soi-disant HTML compatible XHTML 1.0 documents correctement).

Ceci est donc valable dans les endroits où vous pouvez avoir un &gt; comme n'importe où vous êtes autorisé un <img> mais pas dans d'autres endroits (comme un <hr> c'est un élément enfant de l' <body> (dans le Strict)).

L'interaction avec les règles optionnelles de début et de fin des balises ajoute plus de complication.Dans un document de Transition, c'est valide:

<link …/>
<h1>Hello, world</h1>

et les moyens:

<link>
</head>
<body>
&gt;
<h1>Hello, world</h1>

Cette abréviation syntaxe pourrait être utile, ou au moins un gain de temps, pour des choses comme:

<title/The quick brown fox/

au lieu de la plus prolixe:

<title>The quick brown fox</title>

... mais la syntaxe n'a jamais été bien pris en charge et la spécification dit qu'il devrait être évitée.

Autres conseils

Résolu, en fait...selon le W3C HTML 4 du programme de validation, il est préférable de ne pas utiliser ce style d'écriture des noms d'élément dans le HTML 4:

NET-enabling start-tag requires SHORTTAG YES
<br />
The sequence <FOO /> can be interpreted in at least two different ways, 
depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates 
the tag <FOO (with an implied '>'). However, since many browsers don't interpret it 
this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid 
it completely in pure HTML documents and reserve its use solely for those written in XHTML.

À partir de la HTML Compatibilité des lignes Directrices:

Inclure un espace avant la fin / et > des éléments vides, par exemple <br />, <hr /> et <img src="karen.jpg" alt="Karen" />.Aussi, l'utilisation de la minimisé tag de la syntaxe pour les éléments vides, par exemple <br />, comme la syntaxe alternative <br></br> autorisé par XML donne des résultats incertains dans de nombreux agents utilisateurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top