본문 바로가기
엘리스 AI 트랙 4기/Frontend CS Study

[HTML] DOCTYPE

by _sweep 2022. 2. 2.

취준생이라면 알면 좋을 프론트엔드 관련 지식들 자료를 보고 정리한 내용입니다.

 

 DOCTYPE

DOCTYPE(Document Type)은 HTML이 어떤 버전으로 작성되었는지 미리 선언하여 웹 브라우저가 내용을 올바르게 표시할 수 있도록 해주는 것이다.

따라서 DOCTYPE 선언은 HTML 문서에서 <html> 태그를 정의하기 전에 가장 먼저 선언되어야 한다.

 

<!DOCTYPE>

 

DOCTYPE 선언은 대소문자를 구분하지 않는다.

DOCTYPE 선언을 해주지 않으면 브라우저는 호환 모드(quirks mode)로 동작한다.

하지만 이 경우 각 브라우저마다 문서를 나타내는 방식이 다르기 때문에 크로스 브라우징 이슈가 심해진다.

 

✔️ Cross Browsing Issue

모든 브라우저가 W3C 표준을 구현하지만 반드시 동일한 방식으로 구현하지는 않는다. 

예를 들어, 각 브라우저는 HTML, CSS 및 JavaScript를 다르게 취급한다.

 

기본 구현 외에도 각 브라우저는 W3C 표준의 개선 사항 또는 편차를 고유한 방식으로 처리한다.

브라우저가 실행되는 운영 체제는 그래픽과 시각적 요소를 고유한 방식으로 처리하여 차이점을 만들고 데스크톱 및 모바일 장치의 다양한 화면 해상도를 모두 추가함으로써 브라우저에서 웹사이트의 모양뿐만 아니라 작동 방식에 영향을 줄 수 있는 다양한 변수가 존재하게 된다.

 

따라서 다양한 브라우저에서 모두 동일한 결과를 얻을 수 없다.

이러한 문제를 크로스 브라우징 문제(Cross Browsing Issue)라고 하며 이 문제에 대해 웹 페이지 제작 시 모든 브라우저에서 깨지지 않고 의도한 대로 결과물이 만들어지게 하는 작업을 크로스 브라우징(Cross Browsing)이라고 한다.

 

 

 DTD

문서형 정의(DTD, Document Type Definition)는 문서 형식을 정의해 놓은 것으로 DOCTYPE을 명시할 때 사용한다.

HTML5, XHTML, HTML의 세가지 문서 유형이 존재하며, 기술한 유형에 따라 마크업 문서의 요소와 속성 등을 처리하는 기준이 되고 유효성 검사에 이용된다.

  • XHTML 1.1
  • XHTML 1.0
    • Strict DTD
    • Transitional DTD
    • Frameset DTD
  • HTML 4.01
    • Strict DTD
    • Transitional DTD
    • Frameset DTD
  • HTML 5

 

<!DOCTYPE html>

 

현 시점에선, HTML 5의 DTD로 DOCTYPE을 명시하는 것이 제일 바람직하다.

 

 

🔍 참조

DOCTYPE http://www.tcpschool.com/html-tags/doctype

DOCTYPE 선언 https://webdir.tistory.com/40

Cross Browsing Issue https://www.flyingcowdesign.com/web-design-services/cross-browser-compatibility-issues

 

 

 

 

 

댓글