HTML5 문서에 Doctype이 필요합니까


12

최근에 면접을 보았는데 "HTML 5 문서에 doctype이 필요한가요?" 나는 "아니오"라고 대답했지만 내가 틀렸다는 느낌이 든다. w3 부터는 꼭 필요한 것처럼 보이지만 간단한 HTML을 입력하면

<html>
    <body>
        <input type="color" disabled/>
    </body>
</html>

HTML로 저장하고 Chrome에서 열려고 시도하십시오. 새로운 색상 입력 (사용 안함)으로 완벽하게 작동합니다. 이 입력은 속성뿐만 아니라 HTML5입니다.

따라서 문제는-doctype을 지정해야합니까? 면접에 대한 정답은 무엇입니까?


1
Doctype요소가 없으면 HTML5 문서가 아니라고 주장 할 수 있다고 생각합니다 .
MetaFight

hello world텍스트 편집기에 입력 하여 HTML로 저장하면 Chrome에서 렌더링됩니다. Chrome (및 기타 많은 브라우저)이 '필수'인 경우에도 귀하를 대신하여 물건을 넣습니다.
intcreator

답변:


14

정답은 "그것은 달려있다"입니다.

DOCTYPE은 XHTML 구문의 HTML5 문서 (예 : XHTML5 문서)에 대해 선택적입니다 .

원하는 경우 XML 문서에 DOCTYPE이 포함될 수 있지만이 스펙을 준수하지 않아도됩니다.

HTML 구문 에서 HTML5 문서에는 DOCTYPE이 필요 합니다 .

문서는 주어진 순서대로 다음과 같은 부분으로 구성되어야합니다.

[…]

3. DOCTYPE.

예외


1
“필요함”이“사양에 필요함”으로 해석되는 경우 완전한 답입니다. 또한 실제 효과를 나타내는 것으로 해석 될 수도 있습니다. 이 경우, 브라우저를 "표준 모드"로 설정하려면 HTML 구문에 doctype 문자열이 필요합니다.
Jukka K. Korpela

문서가 html 대 xhtml 일 때 자세히 설명하면이 대답을 더 잘 원합니다. 이는 브라우저에 어떤 의미가 있습니까? 평가할 구문을 어떻게 결정 했습니까?
temporary_user_name

7

나도 "아니오"라고 대답 할 것이다.

그러나 http://www.w3.org/TR/html5/syntax.html#the-doctype 은 다음과 같이 말합니다.

8.1.1 DOCTYPE

DOCTYPE은 필수 프리앰블입니다.

기존의 이유로 DOCTYPE이 필요합니다. 생략하면 브라우저는 일부 사양과 호환되지 않는 다른 렌더링 모드를 사용하는 경향이 있습니다. 문서에 DOCTYPE을 포함하면 브라우저가 관련 스펙을 따르도록 최선을 다할 수 있습니다.

BTW, GIYF


1
인용 부분은 HTML 구문에만 적용됩니다.
Jukka K. Korpela

질문 제목은 "HTML5 문서에 필요한 Doctype"입니다 (QED).
Mawg는 모니카가

1
HTML5 사양에 따르면 HTML5에 대한 두 가지 구문, 즉 원본 HTML을 기반으로하는 구문과 XML을 완전히 준수하는 구문을 정의하고 있습니다. 인용 한 내용은 구문 중 하나에 만 적용되므로 질문에 대답하지 않습니다.
Jukka K. Korpela

아! 마침내 이해합니다. 설명을 주셔서 대단히 감사합니다.
Mawg는 Monica Monica를

2

w3c 표준 규격 HTML5 문서를 작성 <!DOCTYPE html>하려면 필수입니다.

그러나 실제로는 일반적인 웹 브라우저가 문서에 관계없이 문서를 렌더링하기 때문에 항상 doctype이 필요하지 않습니다. 그러나 일부 브라우저는 일부 기능이 올바르게 해석되지 않고 이전 버전의 브라우저가이를 처리하는 방식 (대부분 레이아웃 관련)으로 레거시 모드를 사용합니다.

이 인터뷰 에는 어떤 대답이 옳 습니까? 그것은 당신을 인터뷰 한 사람의 정신에 달려 있습니다. 면접에서 당신이 옳고 그른지는 중요하지 않습니다. 면접관에 대한 인상은 중요합니다.


흥미로운 질문은 2020 년에 실제로 DOCTYPE HTML5가 필요합니까? 코드를 생략하고 HTML-5 호환 코드를 만들면 현재 브라우저 (FF, Chrome, Edge)는 무엇을합니까?
Panu Logic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.