Doctype
Браузеры используют doctype
для того, чтобы оценить как
рассматривать разметку документа text/html. Этот метод основан на
определении объявления типа документа (или его отсутствия) в начале
HTML документа. (Документы, которые используют определение типа
контента XML, всегда рассматриваются в Standards mode.)
Объявление типа документа (doctype
) включает название (характерное
для распознавания) корневого элемента и ссылку на DTD (document type definition -
определение типа документа), которое в свою очередь, содержит
информацию о синтаксических правилах для документа. (Теоретически,
весь DTD может быть вставлен в объявление типа документа, но на
практике используется лишь ссылка на него.) В спецификации HTML
объявление типа документа содержит информацию о версии HTML.
Отсутствие объявления типа документа и информации о его версии не
позволяет правильно обрабатывать этот документ.
Quirks Mode - Неопределенное состояние
При Quirks Mode в браузерах нарушаются рекомендации W3C для обеспечения нормального отображения страниц. Для разных браузеров существуют различные варианты совместимости с предыдущими версиями. Собственно цель Quirks mode - корректное отображение страниц, написанных для старых браузеров. При создании новых, современных страниц следует выполнять требования стандартов и рекомендаций и придерживаться Standards mode.
Standards Mode - Соответствует стандартам
При Standards Mode современные браузеры должны одинаково правильно представлять соответствующую стандартам страницу.
Almost Standards Mode - Почти соответствует стандартам
В браузерах Mozilla, Safari и Opera 7.5 еще существует третий вариант "the Almost Standards mode" (почти соответствующий стандартам), который не достаточно строго следует рекомендациям W3C. У Mac IE 5, Windows IE 6, Opera до 7.5 и Konqueror отсутствует Almost Standards mode, потому что они и так не могут работать в соответствии с CSS2, поэтому они будут находиться в этом случае в Standards modes. Фактически, их Standards modes это Almost Standards mode браузера Mozilla, а не полноценный Standards modes. Важно помнить: браузеры имеют одинаковые основные состояния, но даже при одинаковых состояния они все равно работают по-разному.
Трактовка некоторых Doctype
В приведенной таблице Quirks Mode, Standards Mode и Almost Standards Mode обозначены соответственно Q, S и A. Когда у браузера есть только два режима - Standards Mode обозначен как "S" в случае определения высоты строки в ячейке таблицы как в Mozilla's Standards Mode, и как "A" в случае определения высоты строки в ячейке таблицы как в Mozilla's Almost Standards Mode. "Е" - означает что даный браузер обрабатывает такой документ с ошибками.
Doctype | IE 5.5 | IE 6 | IE 7 | Firefox 2 | Opera 8.5 | Safari 2 |
---|---|---|---|---|---|---|
HTML 4.01 Transitional | ||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | Q | Q | Q | Q | Q | Q |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR /1999/REC-html401-19991224/loose.dtd"> | Q | A | A | A | A | A |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR /html4/loose.dtd"> | Q | A | A | A | A | A |
HTML 4.01 Strict | ||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> | Q | A | A | S | S | S |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR /html4/strict.dtd"> | Q | A | A | S | S | S |
XHTML 1.0 Transitional (text/html) | ||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> | Q | A | A | A | A | A |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-transitional.dtd"> | Q | A | A | A | A | A |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-transitional.dtd"> |
Q | Q | A | A | A | A |
XHTML 1.0 Strict (text/html) | ||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> | Q | A | A | S | S | S |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-strict.dtd"> | Q | A | A | S | S | S |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-strict.dtd"> |
Q | Q | A | S | S | S |
XHTML 1.0 Transitional (application/xhtml+xml) | ||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> | E | E | E | S | S | S |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-transitional.dtd"> | E | E | E | S | S | S |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-transitional.dtd"> |
E | E | E | S | S | S |
XHTML 1.0 Strict (application/xhtml+xml) | ||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> | E | E | E | S | S | S |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-strict.dtd"> | E | E | E | S | S | S |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR /xhtml1/DTD/xhtml1-strict.dtd"> |
E | E | E | S | S | S |
XHTML 1.1 | ||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR /xhtml11/DTD/xhtml11.dtd"> | E | E | E | S | S | S |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR /xhtml11/DTD/xhtml11.dtd"> |
E | E | E | S | S | S |
09.03.2007