3. <!DOCTYPE> 선언     -바닥부터 시작하는 HTML-


 

대부분의 웹문서는 문서형 정의를 알리는 <!DOCTYPE html>로 시작한다.

이것은 웹문서가 어떤 유형의 HTML코드로 쓴 것인지를 미리 브라우저에 알려줘서 정확한 코드해석을 하게 하기 위함이다

여기서는 각 HTML의 차이점등은 생략하고 간략히 <!DOCTYPE>의 선언 방법만 기술하고자 한다.

 

HTML의 유형은 크게 다음의 세 가지로 나누어 볼 수 있다.


1. XHTML 1.0, XHTML 1.1

2. HTML 2 ~ HTML 4

3. HTML5

 

각 유형에 따른 선언은 다음과 같다. 약간의 설명을 덧붙였지만 일단 선언 코드만 유의해 보면 될 것이다.

요즘은 IE7 이상에서 잘 돌아가는 HTML5를 사용하는 추세이지만 우리나라에서는 XHTML 1.0 Transitional을 많이 사용하고 있다

그 이유는 IE중에서도 하위 브라우저를 사용하는 곳이 많기 때문이다

또 하나는 표준모드는 너무 엄격하여 적용하기가 쉽지 않아 하위 브라우저 호환성을 고려하여  비교적 느슨한 상태의 호환모드인  XHTML 1.0 Transitional을 선호하는 것 같다.

 


HTML5 DOCTYPE 선언

<!DOCTYPE html>

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

 

 

XHTML 1.0 DOCTYPE 선언

HTML 5가 등장하면서 잘 쓰이지 않는다. 다음의 세 가지 모드가 있다.

 

Strict (엄격모드)

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

W3C가 의도했던 문서 타입으로, 구조와 표현을 분리하기 위해 단계적으로 사라질 표현에 관한 요소와 속성을 배제한 문서 타입이다.

 center, font, iframe, strike, u, 새창 띄우기 등이 제한된다.

DTD는 모든 HTML 요소와 속성을 포함하고 있지만, 표상적인 또는 사용되지 않는 요소가 포함되어 있지 않다.(글꼴 등

프레임 셋은 허용되지 않는다. 태그는 또한 제대로 구성된 XML을 작성해야한다.

Transitional (호환모드: 권장)

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

기존에 만들어진 문서들과의 호환성을 유지하기 위해 사용한다.

 iframe과 새창띄우기(target="_blank")등을 사용할 수 있어 XHTML 사용시 이것을 추천한다.

DTD는 표상적인 및 사용되지 않는 요소를 포함하여 모든 HTML 요소와 속성이 포함되어 있다.(글꼴 등

프레임 셋은 허용되지 않는다. 태그는 또한 제대로 구성된 XML을 작성해야한다.

Frameset

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

DTDXHTML 1.0 Transitional과 동일하지만, 현재는 거의 사용하지 않는 프레임셋을 구현하기 위해서 사용한다.

 

 

XHTML 1.1 DOCTYPE 선언

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

DTDXHTML 1.0 Strict와 동일하지만, 모듈을 추가 할 수 있다.

 

 

HTML 4.01 DOCTYPE 선언

근래에는 HTML 4.01로 문서가 작성되는 경우는 별로 없으니 참고로만 보기 바란다. 다음의 세 가지 모드가 있다.

 

strict (엄격모드)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

DTD는 모든 HTML 요소와 속성을 포함하고 있지만, 표상적인 또는 사용되지 않는 요소가 포함되어 있지 않다.(글꼴 등

프레임 셋은 허용되지 않는다.

Transitional (호환모드: 권장)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

DTD는 표상적인 및 사용되지 않는 요소를 포함하여 모든 HTML 요소와 속성이 포함되어 있다.(글꼴 등

프레임 셋은 허용되지 않는다.

Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

DTDHTML 4.01 Transitional 동등하지만, 프레임 셋의 사용을 허용한다.


각 유형에 따른 DOCTYPE 선언.txt


Posted by star story :

Snippet :: Code View :: "+location.href+'
'+b+"

");top.consoleRef.document.close()}$(".snippet-container").each(function(b){$(this).find("a.snippet-text").click(function(){var d=$(this).parents(".snippet-wrap").find(".snippet-formatted");var c=$(this).parents(".snippet-wrap").find(".snippet-textonly");d.toggle();c.toggle();if(c.is(":visible")){$(this).html("html")}else{$(this).html("text")}return false});$(this).find("a.snippet-window").click(function(){var c=$(this).parents(".snippet-wrap").find(".snippet-textonly").html();a(c);$(this).blur();return false})});$(".snippet-toggle").each(function(b){$(this).click(function(){$(this).parents(".snippet-container").find(".snippet-wrap").toggle()})})});