Niedawno odbyłem rozmowę kwalifikacyjną i jedno z pytań brzmiało: „Czy do dokumentów HTML 5 potrzebny jest doctype?”. Odpowiedziałem „nie”, ale mam wrażenie, że się mylę. Z w3 wygląda na to, że jest to absolutnie wymagane, ale jeśli napiszę prosty HTML
<html>
<body>
<input type="color" disabled/>
</body>
</html>
zapisz go jako HTML i spróbuj otworzyć w Chrome - działałoby idealnie, z nowym wejściem kolorów (wyłączone). Dane wejściowe to HTML5 oraz atrybut.
Pytanie brzmi - czy muszę określać typ dokumentu, czy nie? Jaka byłaby poprawna odpowiedź na rozmowę?
Doctype
elementu nie jest to dokument HTML5.hello world
w edytorze tekstu, zapisać go jako HTML, a będzie renderowany w Chrome. Okazuje się, że Chrome (i wiele innych przeglądarek) umieszcza dla ciebie różne rzeczy, nawet jeśli jest to „wymagane”.Odpowiedzi:
Prawidłowa odpowiedź brzmi „to zależy”.
DOCTYPE jest opcjonalny dla dokumentów HTML5 w składni XHTML (tj. Dokumentów XHTML5):
Dokument DOCTYPE jest wymagany dla dokumentów HTML5 w składni HTML :
Wyjątki
Dokumenty HTML5 w
srcdoc
atrybucie wystąpieniaiframe
elementu nie trzeba DOCTYPE:źródło
Ja również odpowiedziałbym „nie” (tak się składa, że tak się składa).
Jednak http://www.w3.org/TR/html5/syntax.html#the-doctype mówi:
BTW, GIYF
źródło
Jeśli chcesz napisać dokument HTML5 zgodny ze standardem w3c,
<!DOCTYPE html>
jest to wymagane.Ale w praktyce nie zawsze potrzebujesz typu dokumentu, ponieważ każda popularna przeglądarka internetowa renderuje twój dokument niezależnie. Jednak niektóre przeglądarki używają trybu starszego typu, w którym niektóre funkcje nie są poprawnie interpretowane, a zamiast tego obsługuje to wcześniejsza wersja przeglądarki (większość związana z układem).
Która odpowiedź jest odpowiednia dla tego wywiadu ? To zależy od mentalności osoby, która przeprowadziła z tobą wywiad. Podczas rozmowy kwalifikacyjnej nie ma znaczenia, czy masz rację, czy nie. Ważne jest tylko, jakie wrażenie wywrzesz na ankiecie.
źródło