<!DOCTYPE html>
선언의 역할
<!DOCTYPE html>
선언은
브라우저가 쿼크 모드(Quirks Mode)가 아닌 표준 모드(Standards Mode)로 렌더링하도록 하기 위해 사용됩니다.
이 선언의 유일한 목적은 브라우저가 최신 웹 표준 사양을 준수하며 올바르게 렌더링하도록 하는 것입니다.
HTML에서 <!DOCTYPE html>
은 필수적인 전문(preamble)입니다.
<!DOCTYPE html>
은 과거( legacy)의 이유로 필요합니다. 생략되면, 브라우저는 일부 사양과 호환되지 않는 다른 렌더링 모드를 사용하기가 일반적입니다. HTML 문서 최상단에 <!DOCTYPE html>
를 포함하면 브라우저가 관련 사양을 최선의 노력으로 준수하려고 시도하는 것을 보장합니다.
브라우저는 현대적인 최신의 웹 표준 사양을 지원하지만, 과거에 사용하던 여러 사양의 이전 버전의 렌더링 방식을 함께 지원합니다.
현대적인 최신의 웹 표준 사양은 과거에 사용하던 방식과는 다른 작동원리가 많습니다. 웹은 매우 발달했고, 현재 진행형이기도 합니다. 과거의 버전들은 현대 웹 표준과 호환되지 않을 수 있습니다.
<!DOCTYPE html>
선언을 포함시키면, 브라우저는 관련 스펙(specifications)을 최선의 노력으로 따르려고 시도(makes a best-effort attempt)합니다. 이를 일반적으로 표준 모드(Standards Mode)라 말합니다.
<!DOCTYPE html>
선언을 생략하면 브라우저는 쿼크 모드(Quirks Mode)로 렌더링하는 경향이 있습니다. 이는 이전 스펙(specifications)과의 호환성을 유지하기 위한 것입니다. 그러나 이 모드는 일부 스펙과 호환되지 않을 수 있으며, 이는 심각한 문제를 초래할 수 있습니다.
<!DOCTYPE html>
선언은 브라우저가 최신 버전의 웹 표준 사양을 준수하고 올바르게 렌더링하도록 선언하는 역할을 합니다. 이 선언을 문서의 최상단에 포함시키면, 브라우저는 해당 문서를 최신 웹 표준에 맞춰 처리하려고 노력합니다.
<!DOCTYPE html>
선언의 잘못된 편견
HTML 버전이 무엇인지를 브라우저에 알려주는 역할을 한다?
이는 잘못된 편견에서 생기는 오해입니다.
<!DOCTYPE html>
선언은 브라우저에게 최신 버전의 웹 표준 사양을 준수하고 올바르게 렌더링하도록 선언하는 역할을 하는 것으로 버전 정보를 제공하지 않습니다. 아마도 최신의 HTML 버전인 HTML5를 사용하고 있기 때문에 생긴 오해라고 생각됩니다. <!DOCTYPE html>
선언은 HTML뿐만 아니라 CSS에도 영향을 줍니다.
<!DOCTYPE html>
은 HTML 태그이다?
<!DOCTYPE html>
은 HTML 태그가 아닙니다.
선언문입니다. HTML이 시작하기 이전에 선언하는 선언문입니다. 명세서에서는 대소문자를 구분하지 않는다고 말하고 있습니다.
<!DOCTYPE html>
을 선언하면 과거에 사용하던 여러 사양의 이전 버전과 호환된다?
아닙니다. 과거에 사용하던 여러 사양의 이전 버전과 호환되지 않습니다.
원하는 과거의 버전과 호환성을 유지하려면 해당하는 DOCTYPE 선언을 사용해야 합니다.
명세서
명세서 사양 | |
---|---|
DOCTYPE
|
HTML Standard #the-doctype |