WSZYSTKIE znaczniki muszą być zamknięte (przez samo zamknięcie lub przez oddzielne zamknięcie). Niektóre z nich zamykają się automatycznie w HTML4 (np. Tag <img>
), podczas gdy inne (takie jak tag <p>
) wymagają osobnych znaczników zamykających. Pamiętaj, że WSZYSTKIE znaczniki muszą być zamknięte lub przeglądarka (jeśli jest ściśle zgodna) będzie zawierać błędy. Oznacza to, że nawet znaczniki, które nie mają zawartości między otwarciem a zamknięciem, MUSZĄ być zamknięte w taki czy inny sposób. Poniżej zbadam tag <img>
, ponieważ nie ma on żadnej treści między otwarciem a zamknięciem.
W HTML4 jest samozamykający. Nie oznacza to, że się nie zamyka, ponieważ należy pamiętać, że wszystkie znaczniki ALL muszą zostać zamknięte. Po prostu zamyka się samą swoją obecnością. Tak więc w HTML4 tag <img>
jest po prostu: <img>
W XHTML NIE jest samozamykający. Oznacza to, że musisz podać osobny znacznik zamykający w następujący sposób: <img></img>
Następnie w HTML5 ktoś w końcu został sprytny i zdecydował się na zamknięcie znacznika, który nie zawiera treści między otwarciem a zamknięciem, bardzo prostym zadaniem. Użyj tylko jednego tagu, ale ukośnik przed znakiem wyższego niż: tak: <img />
Jest to również w pełni zgodne z HTML4. Jeśli nie używasz XHTML (który wymaga osobnego znacznika zamykającego) i nie masz pewności, czy Twój kod używa standardów HTML4 czy HTML5. Najlepiej jest ZAWSZE mieć slash zamykający przed znakiem większym niż znak dla tagów, które nie mają treści między otwarciem a zamknięciem. W ten sposób ZAWSZE będzie poprawnie wyświetlany w KAŻDEJ przeglądarce.
Oto przykład poprawnie napisanego kodu HTML, który ma wysoki stopień zgodności ze wszystkimi przeglądarkami.
<!DOCTYPE html>
<html>
<head>
<title>test website</title>
</head>
<body>
<p>This is a test.</p>
<img src="testpic.jpg" />
</body>
</html>
* Nadal *? Czy jakakolwiek wersja HTML wymagała zamknięcia wszystkich tagów? – Gabe
@Gabe XHTML 1.0 Strict go potrzebuje. Mam na myśli, że strony internetowe ładują się zwykle dobrze, ale są uważane za nieważne. – CaptSaltyJack
Tak, ale to X jest nie tylko dlatego, że X jest fajny, jest dość luka między HTML i XHTML. – delnan