Декларация DOCTYPE
Браузер должен знать, на каком языке написана страница, чтобы
правильно отобразить её на экране (или другом устройстве). Для этого
в первой строке кода необходимо записывать конструкцию DOCTYPE
.
DOCTYPE
является ключевым компонентом в совместимости
страниц, кроме того, выбор DOCTYPE
влияет на поведение вашей
Web-страницы в различных браузерах.
Джеффри Зельдман, «Web-дизайн по стандартам»
Очень сильно влияет! Ваша визуальная разметка, выполненная
средствами CSS по стандартам W3C, может потерпеть крах на экране,
если DOCTYPE
не будет записан.
Элемент DOCTYPE
предназначен для указания соответствия
кода документа одному из стандартов W3C. Браузер, в зависимости от
стандарта, по-разному интерпретирует элементы на странице.
Элемент DOCTYPE
— это, скорее даже не элемент, а
описание (декларация), имеющее свой собственный синтаксис.
Декларацию DOCTYPE
помещают перед элементом
DOCTYPE
, она начинается с восклицательного
знака и записывается прописными буквами.
Варианты DOCTYPE
для HTML 4.01 приводятся ниже.
Предусмотрено 3 стандарта языка HTML 4.01:
- Strict (строгий)
- Transitional (переходный)
- Frameset (аналогичен Transitional, но с фреймами)
Вариант Strict
Код не содержит элементов и атрибутов, помеченных W3C как
«устаревшие» или «не одобряемые» (например:
CENTER
, FONT
,
S
, U
,
align
, background
, bgcolor
,
color
, size
).
Декларация записывается в виде:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Вариант Transitional
Код может содержать устаревшие теги, вариант введён в целях совместимости со старыми версиями HTML.
Декларация записывается в виде:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Вариант Frameset
Аналогичен Transitional, но содержит также элементы для создания наборов фреймов.
Декларация записывается в виде:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
Какой вариант DOCTYPE
выбрать?
Вариант Frameset отбрасываем сразу, так как фреймы — это рудимент прошлого века, и использовать их мы не собираемся.
В переходной период, когда браузеры не на 100% поддерживают стандарты, ничего другого не остаётся для практики, как выбрать переходной стандарт Transitional.
Таким образом, код любой нашей странички должен иметь такой вид:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML lang="ru"> ... </HTML>
Атрибут lang
со значением ru
определяет
русский язык в качестве базового языка на страничке.
Информация о языке, определённая атрибутом lang
, может быть
использована Пользовательским Агентом (ПА) для управления
представлением различными путями.
Вот некоторые ситуации, где предоставленная автором информация о языке может быть полезной:
- содействие поисковым машинам;
- содействие речевым синтезаторам;
- помощь ПА в выборе вариантов глифов для высококачественной печати;
- помощь ПА в выборе вариантов кавычек;
- помощь ПА в принятии решений о дефисах, лигатурах и пробелах;
- помощь программам проверки правописания.
Цель атрибута lang — создать ПА условия для более понятного представления содержимого на базе принятой для данного языка культурной практики.
Спецификация HTML 4.01