Właśnie czytałem czyjś HTML, który nigdy nie zamykał tagów meta i linków w sekcji nagłówka HTML. Kod działał dobrze; czy zamknięcie tych tagów jest opcjonalne?
Pomyślałem, że byłoby źle sformułowane, gdyby tag nie był zamknięty.
Tag muszą być zawsze zamknięte przez tag ścisłej symbolu >
(jeśli pominiemy pewne zasady SGML że nominalnie zastosowanie w braku XHTML HTML, ale nigdy nie były realizowane w przeglądarkach).
Chcesz zapytać, czy elementy muszą być zamykane znacznikami końcowymi. Odpowiedź jest taka, że kod HTML inny niż XHTML (w tym HTML5 w serializacji HTML), żaden znacznik końcowy nie jest wymagany ani dozwolony dla elementów meta
i link
. W praktyce jednak przeglądarki po prostu ignorują ich wyraźne znaczniki końcowe, a także /
wcześniejszy kult cargo >
, jeśli ich używasz. A HTML5 czyni tę permisywność regułą, nawet formalnie zezwalając na /
serializację w HTML.
W XHTML obowiązują reguły XML, więc każdy element bez wyjątku musi mieć zarówno znacznik początkowy, jak i końcowy, ale ten sam znacznik może być używany dla obu ról, jeśli zawartość elementu jest pusta, np. <meta name="foo" content="bar"/>
Jako skrót od <meta name="foo" content="bar"></meta>
. Jeśli naruszysz ten przepis, udostępniając dokument z typem zawartości XML (XHTML) do zgodnej przeglądarki, wówczas dokument w ogóle nie zostanie wyświetlony; zamiast tego wyświetlany jest komunikat o błędzie.
Podczas korzystania z serwera XHTML z typem zawartości HTML ( Content-Type: text/html
), ponieważ dokumenty XHTML prawie zawsze znajdują się w Internecie, przeglądarki będą faktycznie stosować reguły HTML inne niż XHTML.
Podsumowując:
<meta ...>
bez/
<meta ... />
, zrób to; nie jest użyteczne, ale nie powoduje żadnych szkód (chyba że spróbujesz zweryfikować np. w oparciu o doctype HTML 4.01).
/
przed>
”). Pomyślałem, że wyjaśnię, aby uniknąć bałaganu w Internecie z większym zamieszaniem.</pedant_alert>
:)To zależy od typu dokumentu. HTML5 nie potrzebuje zamknięcia. XHTML tak.
W HTML5 tak zwane elementy void (elementy, które nie mogą mieć treści) nie wymagają zamykania, ponieważ są samozamykające. Ale nadal obowiązuje, jeśli je zamkniesz.
Przeczytaj więcej na ten temat tutaj: void-elements
źródło