본문 바로가기

카테고리 없음

Document Type Declaration

목적

브라우저가 문서를 렌더링할 때 ‘quirks mode’로 전환하는 것을 막기 위함

Quirks Mode

  • W3C 표준 정상화 이전에 있었던 Netscape Navigator 와 인터넷 익스플로러를 위해 제작된 웹 페이지도 지원하기 위해 브라우저에서 도입
  • quirks mode: Navigator 4, IE 5 의 레이아웃 방식 사용
  • no-quirks mode: 현대 HTML과 CSS 스펙을 따름 (full standards)
  • limited-quirks mode: 적은 수의 quirk들이 반영되어 있음 (almost standards)

기타

  • 일반적으로 <!doctype html> 이외에 더 복잡한 걸 쓸 필요는 없음. 목적 자체가 너무 단순해서.
  • case-insensitive
  • required preamble
  • 만약 doctype html이라는 글자를 쓸 수 없는 HTML 생성기를 쓰고 있다면 DOCTYPE legacy string 필요 ← 근데 이런게 실존함?
    <!DOCTYPE html SYSTEM "about:legacy-compat">
  • Content-Type: application/xhtml+xml 페이지를 받는다면 항상 full standards mode를 사용하므로 doctype이 필요없음
  • document.compatMode === 'BackCompat' 이면 quirks mode 사용 중 (아니면 'CSS1Compat' )