본문으로 바로가기

DOCTYPE선언 및 정의

category PROGRAM/HTML&CSS 2018. 2. 21. 11:41
728x90
반응형

doctype이란?

DOCTYPE 정의 및 선언(DTD)이란?


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


문서형 정의를 생략하는 경우, 웹 브라우저가 표준모드가 아니라 비표준모드(Quirks mode)로 렌더링되어 크로스 브라우징에 어려움을 겪는다. 문서형 정의는 HTML문서의 최상위에 위치해야 한다.


쿼크 모드

쿼크 모드(Quirks mode, 쿽스 모드)는 오래된 웹 브라우저를 위하여 디자인된 웹 페이지의 하위 호환성을 유지하기 위해 W3C나 IETF의 표준을 엄격히 준수하는 표준 모드(Standards Mode)를 대신하여 쓰이는 웹 브라우저 기술을 가리킨다. 같은 코드라도 웹 브라우저마다 서로 다르게 해석하므로 전혀 다른 결과물을 보여주게 된다.


쿼크 모드의 발생 원인

DOCTYPE 선언이 문서 최상단에 있지 않을 경우(DOCTYPE 선언 위에 다른 문자가 있는 경우)

DOCTYPE 선언이 존재하지 않거나 잘못 적혀있을 경우, 웹 브라우저는 문서를 쿼크 모드로 해석한다.

DOCTYPE 선언 내의 URL이 생략된 경우, 웹 브라우저는 문서를 쿼크 모드로 해석한다.


HTML5 DOCTYPE 선언

HTML5에서는 SGML에 기반을 두지 않아서 DTD 참조가 필요 없으며, 최소한의 코드 작성이 기본 방향이라 매우 간단히 선언할 수 있다.

<!DOCTYPE html>

DOCTYPE 선언은 선택적이지만 하위 호환성을 위해 위와 같이 사용하는 것이 추천된다.


XHTML 1.0 DOCTYPE 선언

HTML 5가 등장하면서 XHTML 1.0을 사용하는 경우는 적다.


Strict DTD

W3C가 의도했던 문서 타입으로, 구조와 표현을 분리하기 위해 단계적으로 사라질 표현에 관한 요소와 속성을 배제한 문서 타입이다. center, font, iframe, strike, u, 새창띄우기 등이 제한된다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1-strict.dtd">


Transitional DTD

기존에 만들어진 문서들과의 호환성을 유지하기 위해 사용한다. iframe과 새창띄우기(target="_blank")등을 사용할 수 있어 XHTML 사용시 이것을 추천한다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1-transitional.dtd">


Frameset DTD

현재는 거의 사용하지 않는 프레임셋을 구현하기 위해서 사용한다.

frameset은 브라우저를 분할하여 다른 페이지를 보여주게끔 하는 기능이다. iframe에 비해서 쓰기 불편 HTML5에서는 더이상 지원 하지 않는다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1-frameset.dtd">


728x90
반응형

'PROGRAM > HTML&CSS' 카테고리의 다른 글

인트로페이지만들기  (0) 2018.06.08
html 반응형 연습  (0) 2018.05.30
nav menu 연습  (0) 2018.05.24
css버튼 효과 연습  (0) 2018.05.17
HTML이란?  (0) 2018.02.21