Тег <!DOCTYPE …> отвечает за то, как веб-браузеры будут распознавать HTML-документ. Его наличие является необходимостью, которая связана с тем, что существует несколько версий HTML (а есть ещё XHTML, который похож на HTML, но имеет другой синтаксис). Как правило, веб-браузеры способны корректно отображать страницы, которые размечены разными языками и версиями языков, но им нужно «понимать» какой стиль разметки использовать.
Синтаксис тега <!DOCTYPE …> выглядит следующим образом:
<!DOCTYPE [Элемент верхнего уровня] [Публичность] «[Регистрация]//[Организация]//[Тип] [Имя]//[Язык]» «[URL]»>
Элемент верхнего уровня — указывает элемент верхнего уровня в документе. Для HTML-документов это тег <html>;
Публичность — указывает, каким ресурсом является объект: публичным (PUBLIC) или системным (SYSTEM). Для HTML/XHTML-документов следует указывать значение PUBLIC;
Регистрация — указывает, зарегистрирован ли разработчик типа текущего документа в Международной организации по стандартизации (International Organization for Standardization, ISO). Если значение плюс (+), то разработчик зарегистрирован, если минус (-), то нет. Для Консорциума всемирной паутины (World Wide Web Consortium, W3C) следует ставить отрицательное значение;
Организация — название организации, которая разработала данный тип документа. В случае с HTML/XHTML-документами это W3C;
Тип — тип описываемого документа. Для HTML/XHTML-документов указывается значение DTD (document type definition);
Имя — уникальное имя документа для описания типа DTD;
Язык — язык, на котором написан текст для описания объекта. Содержит две буквы, пишется в верхнем регистре. Для документов HTML/XHTML указывается английский язык (EN);
URL — адрес документа с описанием типа документа (DTD).
Всё вышеописанное содержится в открывающем теге. Закрывающий тег для <!DOCTYPE …> не требуется.
Примеры тега <!DOCTYPE …>:
Пример | Описание |
HTML 5 | |
<!DOCTYPE html> | Для всех документов |
HTML 4.01 | |
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01//EN» «http://www.w3.org/TR/html4/strict.dtd»> | Строгий синтаксис HTML |
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> | Переходный синтаксис HTML |
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Frameset//EN» «http://www.w3.org/TR/html4/frameset.dtd»> | В HTML-документе применяются фреймы |
И, хотя эта статья про <!DOCTYPE …> в HTML-документах, приведём примеры и для XHTML:
Пример | Описание |
XHTML 1.1 | |
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.1//EN» «http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd»> | Для всех документов |
XHTML 1.0 | |
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»> | Строгий синтаксис XHTML |
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»> | Переходный синтаксис XHTML |
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Frameset//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd»> | В XHTML-документе применяются фреймы |
Тег <!DOCTYPE …> располагают в первой строчке кода. Всегда указывайте полный путь к DTD-файлу (как в примерах из таблицы), иначе веб-браузер может перейти в режим совместимости.
Статьи по теме: