DTD (Document Type Definition)

·2022년 11월 10일
0

HTML

목록 보기
2/3

📌 DTD 란?

<!DOCTYPE html>

SGML 계열의 마크업 언어에서 문서 형식을 정의하는 것으로, SGML을 비롯해 HTML, XHTML, XML 등에서 쓰인다.
즉, 브라우저에게 "이 문서가 어떤 문서 형식을 따르고 있다"라고 알려주는 것

  • 마크업 언어 ? 태그를 이용하여 문서나 데이터의 구조를 명기하는 언어
  • SGML (Standard Generalized Markup Language) ? 문서용 마크업 언어를 정의하기 위한 메타 언어

DTD를 어떻게 선언하느냐에 따라 브라우저의 렌더링 모드가 바뀌게 되고, 사용할 수 있는 태그와 속성이 바뀌게 되므로 DTD를 반드시 선언해야 한다.
DTD를 선언하지 않을 경우 브라우저가 표준모드가 아니라 비표준모드로 렌더링되어 크로스 브라우징에 어려움을 겪게 된다.

📌 문서 타입

📍 Strict 타입

엄격한 규격으로 CSS 사용을 장려하기 위해 단계적으로 사라질 표현에 관한 태그 (font 태그 등)와 속성을 배제한 문서 타입

📍 Transitional 타입

과도기적인 규격으로, 표준이 정립되지 않은 때에 기존에 만들어진 문서들과의 호환성을 위해서 사용

📍 Frameset 타입

현재는 거의 사용하지 않는 프레임셋(html 안에 html을 분리하는 것)을 구현하는데 사용

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

📌 HTML5에서는?

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

HTML5
<!DOCTYPE html>
profile
개발을 개발새발 열심히➰🐶

0개의 댓글