W HTML musi znajdować DOCTYPE
się na pierwszym miejscu, po którym następuje pojedynczy <html>
element, który musi zawierać <head>
element zawierający <title>
element, po którym następuje <body>
element. Zobacz opis globalnej struktury dokumentu HTML w HTML 4.01 i szkic HTML5 ; rzeczywiste wymagania są w większości takie same, inne niż te DOCTYPE
, ale są inaczej opisane.
Rzeczywiste elementów ( <html>
, </html>
, <head>
itp) opcjonalnie; elementy zostaną utworzone automatycznie, jeśli tagi nie istnieją. <title>
to jedyny wymagany tag w HTML. Najkrótszy poprawny dokument HTML 4.01 (przynajmniej taki, jaki mogłem wygenerować) to (potrzebuje a, <p>
ponieważ musi być coś w pliku, <body>
aby było prawidłowe):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><title></title><p>
I najkrótszy prawidłowy dokument HTML5:
<!DOCTYPE html><title></title>
Zauważ, że w XHTML wszystkie znaczniki muszą być określone jawnie; żadne elementy nie zostaną wstawione niejawnie.
W pewnych okolicznościach przeglądarki wykonują podsłuchiwanie typu zawartości w celu określenia typu zasobu, który nie został określony przy użyciu Content-Type
nagłówka HTTP, a także wykrywanie kodowania znaków, jeśli Content-Type
nagłówek nie został dostarczony lub nie zawiera znaku charset
(generalnie powinieneś spróbować aby dołączyć te nagłówki i upewnić się, że są poprawne, ale są pewne okoliczności, w których nie można tego zrobić, na przykład pliki lokalne nie przesyłane przez HTTP). Jednak do tych celów wąchają tylko ograniczoną liczbę bajtów na początku dokumentu, więc wszystko, co ma wpłynąć na wykrywanie treści lub kodowanie znaków, powinno znajdować się blisko początku dokumentu.
Z tego powodu HTML5 określa, że każdy meta
znacznik używany do określenia zestawu znaków (albo <meta http-equiv="Content-type" content="text/html; charset=...">
po prostu <meta charset=...>
) musi znajdować się w pierwszych 1024 bajtach pliku, aby zadziałał. Tak więc, jeśli zamierzasz zawrzeć informacje o kodowaniu znaków w dokumencie, powinieneś umieścić znacznik na początku pliku, prawdopodobnie nawet przed <title>
elementem. Pamiętaj jednak, że ten tag jest niepotrzebny, jeśli poprawnie określisz Content-type
nagłówek.
W CSS późniejsze deklaracje stylów mają pierwszeństwo przed wcześniejszymi , wszystkie inne są jednakowe. Dlatego generalnie powinieneś umieścić najbardziej ogólne arkusze stylów, które mogą zostać nadpisane wcześniej, a bardziej szczegółowe arkusze stylów później.
Ze względu na wydajność dobrym pomysłem może być umieszczenie skryptów na dole strony, tuż przed </body>
, ponieważ ładowanie skryptów blokuje renderowanie strony.
Oczywiście <script>
tagi powinny być uporządkowane tak, aby skrypty zależne od każdej kolejności miały najpierw załadowane zależności.
Ogólnie rzecz biorąc, poza ograniczeniami, które już określiłem, kolejność tagów w ramach <head>
nie powinna mieć większego znaczenia, poza czytelnością. Lubię patrzeć na <title>
górę, a pozostałe <meta>
tagi układam w logicznej kolejności.
W większości przypadków kolejność, w jakiej należy umieszczać elementy w treści dokumentu HTML, powinna być taka, w jakiej powinny być wyświetlane, lub kolejność, do której należy uzyskać dostęp. Możesz użyć CSS do zmiany kolejności rzeczy, ale czytniki ekranu będą na ogół czytać rzeczy w kolejności źródłowej, indeksy wyszukiwania wyodrębniają rzeczy w kolejności źródłowej i tak dalej.