DTD: 문서 유형 정의 문서 유형 정의
SGML: 표준 일반화 마크업 언어 표준 일반화 마크업 언어.
SGML은 HTML과 XML이 파생된 매우 강력하지만 복잡한 마크업 언어입니다.
의 위치는
선언은 HTML 문서의 첫 번째 줄,
이 문서를 구문 분석하는 데 사용할 표준을 브라우저에 알려줍니다. 존재하지 않거나 형식이 잘못된 DOCTYPE을 사용하면 문서가 호환 모드에서 렌더링됩니다.
HTML5에는 선언이 하나만 있습니다:
HTML4.01에는 엄격, 전환, 프레임셋의 세 가지 선언이 있습니다
HTML4.01은 SGML을 기반으로 하며 참조가 필요합니다. DTD는 사용할 문서 유형을 브라우저에 알려줍니다.
HTML5는 SGML을 기반으로 하지 않으며 DTD를 참조할 필요가 없지만 브라우저 동작을 표준화하려면 DOCTYPE을 사용해야 합니다.
SGML은 가장 강력하고 오래된 것입니다. XML은 SGML의 하위 집합입니다. HTML은 원래 SGML의 하위 집합이 되려고 했지만 이전에는 HTML 4가 SGML 표준을 엄격하게 준수하지 않았습니다. 나중에 HTML4, XHTML(XML 표준을 준수하는 HTML)이 출시되었으며 둘 다 SGML의 요구 사항을 준수합니다.
W3C는 HTML5 표준을 제정할 때 SGML의 일부 쓸모없는 기능과 선언을 제거하고 엄격한 XHTML 스타일이 아닌 HTML4 스타일을 이어가기를 희망합니다.
페이지 렌더링 모드는 DOCTYPE 선언 여부에 따라 각각 호환 모드와 표준 모드를 트리거합니다.
document.compatMode는 현재 페이지의 호환 모드를 반환할 수 있습니다.
document.compatMode > CSS1Compat //标准模式 > BackCompat //怪异模式、兼容模式
표준 모드 페이지 레이아웃과 JS 실행 모드는 모두 브라우저에서 지원하는 최고 표준에서 실행됩니다.
호환 모드에서는 페이지가 느슨하게 이전 버전과 호환되는 방식으로 표시되어 사이트가 작동하지 않는 것을 방지하기 위해 이전 브라우저의 동작을 시뮬레이션합니다.
항상 무시되는 더 많은 DOCTYPE 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!