Этот документ является неофициальным переводом исходной английской версии Media Queries. Обратите внимание на то, что оригинальная версия документа существует только на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил Кирилл Топольян, 2016.

W3C

Медиа-запросы

Рекомендация W3C от 19 июня 2012

Эта версия:
http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/
Последняя версия:
http://www.w3.org/TR/css3-mediaqueries/
Последний черновик редактора:
http://dev.w3.org/csswg/css3-mediaqueries/
Предыдущая версия:
http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/
Комментарии:
http://www.w3.org/Style/2012/MediaQueriesDisposalOfComments.html
Редакторы:
Florian Rivoal <>
Предыдущие редакторы:
Håkon Wium Lie <>
Tantek Çelik <>
Daniel Glazman <>
Anne van Kesteren <>

Смотрите страницу исправлений для этого документа, которая может содержать некоторые нормативные изменения.

Также смотрите переводы.


Аннотация

HTML4 и CSS2 на данный момент поддерживают медиа-зависимые таблицы стилей адаптированные для разных медиа-типов. Например, документ может использовать шрифт sans-serif при отображении на экране и шрифт serif при печати. ‘screen’ и ‘print’ являются двумя медиа-типами, которые были определены. Медиа-запросы расширяют функциональность медиа типов, разрешая более точную маркировку таблиц стилей.

Медиа-запрос состоит из медиа-типа и нуля или больше выражений, которые проверяют условия конкретных медиа-функций. Среди медиа-функций, которые могут использоваться в медиа-запросах, есть ‘width’, ‘height’, и ‘color’. С помощью использования медиа-запросов, документы могут быть адаптированы на определенный диапазон выходных устройств без изменения самого контента.

Статус этого документа

Эта спецификация описывает статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Со списком текущих публикаций W3C и последней ревизией этого технического доклада можно ознакомиться в индексе технических отчетов W3C, http://www.w3.org/TR/.

Рекомендация W3C это зрелый документ, который был широко рассмотрен и готов к реализации. W3C поощряет всех к реализации данной спецификации. В публичном (архивном) почтовом листе www-style@w3.org (смотрите инструкции) предпочтительно обсуждение данной спецификации. Когда отправляете e-mail, пожалуйста поместите текст “css3-mediaqueries” в тему, предпочтительно как это: “[css3-mediaqueries] …краткое содержание комментария…”.

Этот документ был рассмотрен членами W3C, разработчиками программного обеспечения, а также другими группами W3C и заинтересованными лицами, и одобрен Директором в качестве Рекомендации W3C. Это стабильный документ и может быть использован в качестве справочного материала или цитироваться из другого документа. Цель W3C в создании Рекомендации заключается в привлечении внимания к спецификации и способствовании ее широкому распространению. Это повышает функциональность и совместимость Сети.

Пожалуйста, посмотрите отчет по реализации и Серию тестов медиа-запросов от Рабочей группы.

Также смотрите расположение комментариев и список изменений по сравнению с предыдущей Предлагаемой Рекомендацией.

Публикация в качестве Рекомендации W3C не означает одобрение членами W3C. Это проект документа и он может быть обновлен, заменен или устареть по отношению к другим документам в любое время. Нецелесообразно ссылаться на этот документ, кроме как на работу в процессе.

Этот документ был подготовлен Рабочей группой CSS (часть активности по Стилям).

Этот документ был подготовлен группой, работающей под Патентной Политикой W3C от 5 февраля 2004. W3C поддерживает публичный список открытых патентов, сделанных в связи с результатами деятельности группы; эта страница также включает в себя инструкции по раскрытию патента. Человек, который имеет фактическое знание патента, который удовлетворяет основным требованиям, должен раскрывать информацию в соответствии c разделом 6 патентной политики W3C.

Этот документ такой же как и предыдущий, версия Предлагаемой Рекомендации: кроме таблицы стилей, изменений редакторов в вводной части, таких как заголовок и дата, и удаления раздела старых изменений.

Содержание

1. Общая информация

(Этот раздел не является нормативным.)

HTML4 [HTML401] и CSS2 [CSS21] на данный момент поддерживают медиа-зависимые таблицы стилей адаптированные для разных медиа-типов. Например, документ может использовать разные таблицы стилей для экрана и для печати. В HTML4, это может быть написано как:

<link rel="stylesheet" type="text/css" media="screen" href="sans-serif.css">
<link rel="stylesheet" type="text/css" media="print" href="serif.css">

Внутри таблицы стилей CSS, можно заявить что разделы применяются к определенным медиа-типам:

@media screen {
  * { font-family: sans-serif }
}

Медиа-типы ‘print’ и ‘screen’ определены в HTML4. Полный список медиа-типов в HTML4 это: ‘aural’, ‘braille’, ‘handheld’, ‘print’, ‘projection’, ‘screen’, ‘tty’, ‘tv’. CSS2 определяет тот же список, кроме ‘aural’, но добавляя ‘embossed’ и ‘speech’. Также ‘all’ используется для указания того, что таблица стилей применяется ко всем медиа-типам.

Медиа-специфические таблицы стилей поддерживаются многими агентами пользователя. Наиболее часто используемая функция это различие для ‘screen’ и ‘print’.

Были просьбы о способах более подробного описания к какому типа устройств вывода применяется таблица стилей. К счастью, HTML4 предусмотрел эти просьбы и определил forward-совместимый синтаксис для медиа-типов. Ниже цитата из HTML4, раздел 6.13:

Будущие версии HTML могут ввести новые значения и могут позволить параметризованные значения. Чтобы облегчить введение этих расширений, соответствующие агенты пользователя должны иметь возможность парсить значение атрибута media как следующее:

  1. Значение это разделенный запяток список записей. Например,
    media="screen, 3d-glasses, print and resolution > 90dpi"

    соответствует:

    "screen"
    "3d-glasses"
    "print and resolution > 90dpi"
  2. Каждая запись укорачивается сразу перед первым символом который не является буквой US ASCII [a-zA-Z] (Unicode десятичные 65-90, 97-122), цифрой [0-9] (Unicode шестнадцат. 30-39) или дефисом (45). В этом примере, это дает:
    "screen"
    "3d-glasses"
    "print"

Медиа-запросы, как описано в этой спецификации, построены на механизме, изложенном в HTML4. Синтаксис медиа-запросов тот же, что и синтаксис медиа-типов определенный в HTML4. Атрибут media в HTML4 также существует в XHTML и общем XML. Тот же синтаксис может также использоваться внутри ‘@media’ и ‘@import’ правил CSS.

Тем не менее, парсинг правил для медиа-запросов не совместим с HTML4, так что они соответствуют медиа-запросам используемым в CSS.

HTML5 [HTML5] (на момент написания работа все еще в процессе) ссылается на спецификацию Медиа-запросов напрямую и таким образом обновляет правила для HTML.

2. Медиа-запросы

Медиа-запрос состоит из медиа-типа и нуля или больше выражений, которые проверяют условия конкретных медиа-функций.

Заявление относительно медиа-запросов в данном разделе предполагают синтаксис описанный ниже. Медиа-запросы которые не соответствуют синтаксису, обсуждаются в разделе обработки ошибок. Т.е. синтаксис имеет приоритет над требованиями в данном разделе.

Ниже простой пример, написанный на HTML:

<link rel="stylesheet" media="screen and (color)" href="example.css" />

Этот пример выражает, что определенная таблица стилей (example.css) применяется к устройствам определенного медиа-типа (‘screen’) с определенной возможностью (это должен быть цветной экран).

Ниже тот же медиа-запрос, написанный в @import-правиле в CSS:

@import url(color.css) screen and (color);

Медиа-запрос является логическим выражением, которое является истинным или ложным. Медиа-запрос является истинным если медиа-тип медиа-запроса соответствует медиа-типу устройства на котором запущен агент пользователя (как определенно в строке "Относится к"), и все выражения в медиа-запросе истинны.

Сокращенный синтаксис предлагается для всех медиа-запросов, которые применяются ко всем медиа-типам; ключевое слово ‘all’ можно не ставить (наряду с ‘and’). Т.к. если медиа-тип явно не указан, это ‘all’.

То есть это идентично:

@media all and (min-width:500px) { … }
@media (min-width:500px) { … }

Этому:

@media (orientation: portrait) { … }
@media all and (orientation: portrait) { … }

Несколько медиа-запросов можно объединить в список. Разделенный запятыми список медиа-запросов. Если один или более медиа-запросов в разделенном запятыми списке истинны, весь список является истинным, и в другом случае ложным. В синтаксисе медиа-запросов, запятая выражает логическое ИЛИ, в то время как ключевое слово ‘and’ выражает логическое И.

Ниже приведен пример нескольких медиа-запросов в разделенном запятыми списке, с использованием @media-правила в CSS:

@media screen and (color), projection and (color) { … }

Если список медиа-запросов пуст (т.е. заявление является пустой строкой или состоит только из пробелов), он оценивается как истинный.

То есть это эквивалентно:

@media all { … }
@media { … }

Логическое НЕ может быть выражено ключевым словом ‘not’. Наличие ключевого слова ‘not’ в начале медиа-запроса обращает результат. Т.е., если медиа-запрос был истинным без ‘not’, он станет ложным, и наоборот. Агенты пользователей которые поддерживают только медиа-типы (как описано в HTML4) не распознают ключевое слово ‘not’ и, следовательно, связанные с ним таблицы стилей не применятся.

<link rel="stylesheet" media="not screen and (color)" href="example.css" />

Ключевое слово ‘only’ может использоваться для скрытия таблиц стилей от устаревших агентов пользователя. Агенты пользователя должны обрабатывать медиа-запросы начинающиеся с ‘only’ как если бы ‘only’ не было.

<link rel="stylesheet" media="only screen and (color)" href="example.css" />

Синтаксис медиа-запросов может использоваться с HTML, XHTML, XML [XMLSTYLE], и @import и @media правилами CSS.

Ниже один и тот же пример написан на HTML, XHTML, XML, @import и @media:

<link rel="stylesheet" media="screen and (color), projection and (color)" rel="stylesheet" href="example.css">
<link rel="stylesheet" media="screen and (color), projection and (color)" rel="stylesheet" href="example.css" />
<?xml-stylesheet media="screen and (color), projection and (color)" rel="stylesheet" href="example.css" ?>
@import url(example.css) screen and (color), projection and (color);
@media screen and (color), projection and (color) { … }

Спецификация [XMLSTYLE] еще не была обновлена для использования медиа-запросов в псевдо-атрибуте media.

Если медиа-функция не применяется к устройству где запущен ПА, выражения с медиа-функцией будет ложным.

Медиа-функция ‘device-aspect-ratio’ применяется только к визуальным устройствам. Поэтому на слуховых устройствах выражения с ‘device-aspect-ratio’ будут всегда ложными:

<link rel="stylesheet" media="aural and (device-aspect-ratio: 16/9)" href="example.css" />

Выражения всегда будут ложными, если единица измерения не относится к устройству.

Единица ‘px’ не применяется к (речевым) ‘speech’ устройствам, поэтому следующий медиа-запрос всегда будет ложным:

<link rel="stylesheet" media="speech and (min-device-width: 800px)" href="example.css" />

Заметьте, что медиа-запросы в этом примере были бы истинными, если бы было добавлено ключевое слово ‘not’ в начале медиа-запроса.

Чтобы избежать цикличных зависимостей, никогда не следует применять таблицу стилей для оценки выражений. Например, соотношение сторон печатного документа может быть зависеть от таблицы стилей, но выражения с ‘device-aspect-ratio’ будут основаны на соотношении сторон по умолчанию агента пользователя.

Агенты пользователя желательно, но не обязательно, должны пересчитать и перекомпоновать страницу в ответ на изменения в среде пользователя, например если девайс наклонен от горизонтального к портретному режиму.

3. Синтаксис

Синтаксис медиа-запросов определен в терминах грамматики CSS2. Таким образом, правила не определенные здесь, определены в CSS2. Релиз media_query_list определенный ниже, заменяет релиз media_list из CSS2. [CSS21]

media_query_list
 : S* [media_query [ ',' S* media_query ]* ]?
 ;
media_query
 : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
 | expression [ AND S* expression ]*
 ;
media_type
 : IDENT
 ;
expression
 : '(' S* media_feature S* [ ':' S* expr ]? ')' S*
 ;
media_feature
 : IDENT
 ;

Токены комментариев, как определенно CSS2, не встречаются в грамматике (чтобы сохранять ее читабельной), но любое количество этих символов может быть между другими токенами. [CSS21]

Введены следующие новые определения:

L  l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l
Y  y|\\0{0,4}(59|79)(\r\n|[ \t\r\n\f])?|\\y

Введены следующие новые токены:

{O}{N}{L}{Y}      {возвращает ONLY;}
{N}{O}{T}         {возвращает NOT;}
{A}{N}{D}         {возвращает AND;}
{num}{D}{P}{I}    {возвращает RESOLUTION;}
{num}{D}{P}{C}{M} {возвращает RESOLUTION;}

RESOLUTION должен быть добавлен к CSS2 term релизу.

Таблицы стилей CSS, как правило, не чувствительны к регистру, и это так же в случае медиа-запросов.

В дополнение к соответствию синтаксиса, каждый медиа-запрос должен использовать медиа-типы и медиа-функции в соответствии с их спецификациями, чтобы рассматриваться соответствующим.

Только первый медиа-запрос соответствующий в примере ниже, потому что не существует медиа-типа "example".

@media all { body { background:lime } }
@media example { body { background:red } }

3.1. Обработка ошибок

Для медиа-запросов которые не соответствуют, пользовательские агенты должны следовать правилам описанным в этом разделе.

4. Медиа-функции

Синтаксически, медиа-функции напоминают свойства CSS: они имеют имена и принимают определенные значения. Есть, тем не менее, несколько важных различий между свойствами и медиа-функциями:

Например, медиа-функция ‘color’ может формировать заявления без значения (‘(color)’) или со значением (‘(min-color: 1)’).

Эта спецификация определяет медиа-функции пригодные для визуальных и тактильных устройств. Таким же образом, медиа-функции могут быть для слуховых медиа-типов.

4.1. width

Значение: <length>
Относится к: визуальным и тактильным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘width’ описывает ширину целевой области отображения на устройстве вывода. Для сплошных сред, это ширина области просмотра (как описано в CSS2, раздел 9.1.1 [CSS21]) включая размер полосы прокрутки (если есть). Для страничных сред, это ширина страничного блока (как описано в CSS2, раздел 13.2 [CSS21]).

Заданное значение <length> не может быть отрицательным.

Например, этот медиа-запрос выражает, что таблица стилей может использоваться на печатной продукции шире 25см:

<link rel="stylesheet" media="print and (min-width: 25cm)" href="http://…" />

Этот медиа-запрос выражает, что эта таблица стилей может использоваться на устройствах с областью просмотра (часть экрана/бумаги где документ отображается) с шириной между 400 и 700 пикселей:

@media screen and (min-width: 400px) and (max-width: 700px) { … }

Этот медиа-запрос выражает, что эта таблица стилей может использоваться на экране и портативных устройствах, если ширина области просмотре более 20em.

@media handheld and (min-width: 20em), 
  screen and (min-width: 20em) { … }

Значение ‘em’ зависит от изначального значения ‘font-size’.

4.2. height

Значение: <length>
Относится к: визуальным и тактильным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘height’ описывает высоту целевой области просмотра выходного устройства. Для сплошных сред, это высота области просмотра, включая размер полосы прокрутки (если есть). Для страничных сред, это высота страничного блока.

Заданное значение <length> не может быть отрицательным.

4.3. device-width

Значение: <length>
Относится к: визуальным и тактильным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘device-width’ описывает ширину области отображения выходного устройства. Для сплошных сред, это ширина экрана. Для страничных сред, это ширина страничного листа.

Заданное значение <length> не может быть отрицательным.

@media screen and (device-width: 800px) { … }

В примере выше, таблица стилей будет применяться только к экранам которые в данный момент отображают точно 800 пикселей по горизонтали. Единица ‘px’ логического вида, как описано в разделе Единицы.

4.4. device-height

Значение: <length>
Относится к: визуальным и тактильным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘device-height’ описывает высоту области отображения выходного устройства. Для сплошных сред, это высота экрана. Для страничных сред, это высота страничного листа.

Заданное значение <length> не может быть отрицательным.

<link rel="stylesheet" media="screen and (device-height: 600px)" />

В примере выше, таблица стилей будет применяться только к экранам которые имеют точно 600 пикселей по вертикали. Заметьте, что определение единицы ‘px’ такое же, как и в других частях CSS.

4.5. orientation

Значение: portrait | landscape
Относится к: bitmap медиа-типам
Принимает min/max префиксы: нет

Медиа-функция ‘orientation’ равна ‘portrait’ когда значение медиа-функции ‘height’ больше чем или равно медиа-функции ‘width’. В другом случае ‘orientation’ равняется ‘landscape’.

@media all and (orientation:portrait) { … }
@media all and (orientation:landscape) { … }

4.6. aspect-ratio

Значение: <ratio>
Относится к: bitmap медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘aspect-ratio’ определена как соотношение значения медиа-функции ‘width’ к значению медиа-функции ‘height’.

4.7. device-aspect-ratio

Значение: <ratio>
Относится к: bitmap медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘device-aspect-ratio’ определена как соотношение значения медиа-функции ‘device-width’ к значению медиа-функции ‘device-height’.

Например, если экран устройства с квадратными пикселями имеет 1280 пикселей по горизонтали и 720 пикселей по вертикали (обычно упоминаемый как "16:9"), следующие медиа-запросы будут соответствовать устройству:

@media screen and (device-aspect-ratio: 16/9) { … }
@media screen and (device-aspect-ratio: 32/18) { … }
@media screen and (device-aspect-ratio: 1280/720) { … }
@media screen and (device-aspect-ratio: 2560/1440) { … }

4.8. color

Значение: <integer>
Относится к: визуальным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘color’ описывает количество битов на компонент цвета выходного устройства. Если устройство не является цветным, значение равно нулю.

Определенное значение <integer> не может быть отрицательным.

Например, эти два медиа-запроса выражают, что таблица стилей применяется ко всем цветным устройствам:

@media all and (color) { … }
@media all and (min-color: 1) { … }

Этот медиа-запрос выражает, что таблица стилей применяется к цветным устройствам и 2 или более битами на компонент цвета:

@media all and (min-color: 2) { … }

Если разные компоненты цвета представлены разным количеством битов, используется наименьшее количество.

К примеру, если 8-битная система цвета представляет красный компонент с 3 битами, зеленый компонент с 3 битами и синий компонент с 2 битами, медиа-функция ‘color’ будет иметь значение 2.

В устройстве с индексированными цветами, используется минимальное количество битов на компонент цвета в таблице поиска.

Описанная функциональность может описывать возможности цвета только на поверхностном уровне. Если требуется дополнительная функциональность, RFC2531 [RFC2531] предоставляет более специфические медиа-функции, которые могут поддерживаться на более позднем этапе.

4.9. color-index

Значение: <integer>
Относится к: визуальным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘color-index’ описывает количество записей в таблице поиска цветов выходного устройства. Если устройство не имеет таблицы поиска цветов, значение равно нулю.

Заданное значение <integer> не может быть отрицательным.

Например, есть два способа выразить, что таблица стилей применяется ко всем устройствам с индексированным цветом:

@media all and (color-index) { … }
@media all and (min-color-index: 1) { … }

Эта медиа-функция выражает, что таблица стилей применяется к устройству с индексированным цветом с 256 или более записей:

<?xml-stylesheet media="all and (min-color-index: 256)" 
  href="http://www.example.com/…" ?>

4.10. monochrome

Значение: <integer>
Относится к: визуальным медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘monochrome’ описывает количество битов на пиксель в монохромном кадровом буфере. Если устройство не является монохромным, значение будет равняться 0.

Заданное значение <integer> не может быть отрицательным.

Например, есть два способа выразить, что таблица стилей применяется ко всем монохромным устройствам:

@media all and (monochrome) { … }
@media all and (min-monochrome: 1) { … }

Выражает, что таблица стилей применяется к монохромным устройствам с более чем 2 битами на пиксель:

@media all and (min-monochrome: 2) { … }

Выражает, что есть одна таблица стилей для цветных страниц и другая для монохромных:

<link rel="stylesheet" media="print and (color)" href="http://…" />
<link rel="stylesheet" media="print and (monochrome)" href="http://…" />

4.11. resolution

Значение: <resolution>
Относится к: bitmap медиа-типам
Принимает min/max префиксы: да

Медиа-функция ‘resolution’ описывает разрешение выходного устройства, т.е. плотность пикселей. Когда запрашиваемые устройства имеют не-квадратные пиксели, в запросах ‘min-resolution’ должно сравниваться с заданным значением наименее плотное измерение, и в запросах ‘max-resolution’ должно сравниваться наиболее плотное измерение. Запрос ‘resolution’ (без префикса "min-" или "max-") никогда не соответствует устройству с не-квадратными пикселями.

Для принтеров, это соответствует разрешению скрининга (разрешению печати точек произвольного цвета).

Например, этот медиа-запрос выражает, что таблица стилей может использоваться на устройствах с разрешением более 300 точек на дюйм:

@media print and (min-resolution: 300dpi) { … }

Этот медиа-запрос выражает, что таблица стилей может использоваться на устройствах с разрешением более 118 точек на сантиметр:

@media print and (min-resolution: 118dpcm) { … }

4.12. scan

Значение: progressive | interlace
Относится к: "tv" медиа-типам
Принимает min/max префиксы: нет

Медиа-функция ‘scan’ описывает процесс сканирования выходных устройств "tv".

Например, этот медиа-запрос выражает, что таблица стилей может использоваться на устройствах tv с прогрессивным сканированием:

@media tv and (scan: progressive) { … }

4.13. grid

Значение: <integer>
Относится к: визуальным и тактильным медиа-типам
Принимает min/max префиксы: нет

Медиа-функция ‘grid’ используется для запроса является ли выходное устройство сеткой или битмапом. Если устройство основано на сетке (например, терминал "tty" или дисплей телефона с одним фиксированным шрифтом), значение будет равно 1. В другом случае, значение будет 0.

Только 0 и 1 являются валидными значениями. (Это включает -0.) Поэтому все остальное создает некорректный медиа-запрос.

Ниже два примера:

@media handheld and (grid) and (max-width: 15em) { … }
@media handheld and (grid) and (device-max-height: 7em) { … }

5. Значения

Эта спецификация также вводит два новых значения.

Значение <ratio> является положительным (не ноль или негативным) <integer> с последующим опциональным пробелом, последующим слешем (‘/’), с последующим опциональным пробелом, с последующим положительным <integer>.

Значение <resolution> является положительным <number> со сразу следующим идентификатором единиц (‘dpi’ или ‘dpcm’).

Пробел, <integer>, <number> и другие значения используемые в данной спецификации являются теми же, что и в других частях CSS, нормативно определенными в CSS 2.1. [CSS21]

6. Единицы

Единицы используемые в медиа-запросах являются тем же, что и в других частях CSS. Например, пиксель представляет CSS пиксели, а не физические пиксели.

Относительные единицы в медиа-запросах основываются на изначальном значении, что означает, что эти единицы никогда не основываются на результатах заявлений. Например, в HTML, единица ‘em’ зависит от изначального значения ‘font-size’.

6.1. Разрешение

Единицы ‘dpi’ и ‘dpcm’ описывают разрешение выходного устройства, т.е. плотность пикселей устройства. Идентификаторы единиц разрешения это:

dpi
точек на CSS ‘inch
dpcm
точек на CSS ‘centimeter

В этой спецификации, эти единицы используются только в медиа-функции ‘resolution’.

Благодарности

Эта спецификация является продуктом работы Рабочей группы W3C над Каскадными таблицами стилей.

Комментарии от Björn Höhrmann, Christoph Päper, Chris Lilley, Simon Pieters, Rijk van Geijtenbeek, Sigurd Lerstad, Arve Bersvendsen, Susan Lesch, Philipp Hoschka, Roger Gimson, Steven Pemberton, Simon Kissane, Melinda Grant, and L. David Baron помогли улучшить эту спецификацию.

Ссылки

Нормативные ссылки

[CSS21]
Bert Bos; и соавторы. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 7 июня 2011. Рекомендация W3C. URL: http://www.w3.org/TR/2011/REC-CSS2-20110607

Прочие ссылки

[HTML401]
Dave Raggett; Arnaud Le Hors; Ian Jacobs. HTML 4.01 Specification. 24 декабря 1999. Рекомендация W3C. URL: http://www.w3.org/TR/1999/REC-html401-19991224
[HTML5]
Ian Hickson. HTML5. 29 марта 2012. Рабочий проект W3C. (Работа в процессе). URL: http://www.w3.org/TR/2012/WD-html5-20120329/
[RFC2531]
G. Klyne; L. McIntyre. Content Feature Schema for Internet Fax. Март 1999. Internet RFC 2531. URL: http://www.ietf.org/rfc/rfc2531.txt
[XMLSTYLE]
James Clark; Simon Pieters; Henry S. Thompson Associating Style Sheets with XML documents 1.0 (Second Edition). 28 октября 2010. Рекомендация W3C. URL: http://www.w3.org/TR/2010/REC-xml-stylesheet-20101028/