Россия |
О спецификации CSS2
Как читать эту спецификацию
Данная спецификация написана в расчёте на читателей двух типов: CSS-авторов и CSS-разработчиков. Мы надеемся, что эта спецификация снабдит авторов средствами, необходимыми для создания эффективных, привлекательных и доступных документов без излишнего углубления в детали реализации CSS. Разработчики к тому же смогут найти всё необходимое для создания соответствующих пользовательских агентов (ПА).
Спецификация начинается общим представлением CSS и постепенно всё более углубляется в технические подробности и специфику. Для быстрого доступа к информации служат общие и специализированные оглавления в начале каждого раздела и индексы - в электронном и печатном виде.
Спецификация создана в расчёте на два типа представления: электронное и печатное. Хотя эти два типа, без сомнения, похожи, читатели могут заметить и некоторые отличия. Например, ссылки не будут работать в печатной версии (естественно), а номера страниц будут отсутствовать в электронной версии. В случае возникновения противоречий, электронная версия должна считаться определяющей.
Как организована эта спецификация
Эта спецификация содержит следующие разделы:
Раздел 2: Введение в CSS2
Введение содержит краткий учебник по CSS2 и обсуждение принципов дизайна вне CSS2.
Раздел 3 - 20: Справочник-учебник CSS2
Основу составляет справочник языка CSS2. Этот справочник определяет, что может входить в таблицы стилей CSS2 (синтаксис, свойства, значения свойств) и как ПА обязаны интерпретировать эти таблицы стилей, чтобы претендовать на соответствие.
Приложения:
Содержат образцы таблиц стилей для HTML 4.0, изменения относительно CSS1, замечания по реализации и выполнению, грамматике CSS2, список нормативных и информативных ссылок и три индекса: Свойства, Дескрипторы и Общий индекс.
Соглашения
Язык документа: элементы и атрибуты
- В CSS имена свойств, дескрипторов и псевдоклассов ограничиваются одиночными кавычками.
- Значения в CSS ограничиваются одиночными кавычками.
- Элементы языка документа записываются буквами в верхнем регистре.
- Имена атрибутов языка документа записываются в нижнем регистре и ограничиваются двойными кавычками.
Определения свойств CSS
Каждое определение свойства CSS начинается общей ключевой информацией:
'property-name'
Значение: действительные значения & синтаксис
Начальное: начальное значение
Применяется: к соответствующим элементам
Наследуется: если свойство наследуется
Процентное: интерпретация процентных значений
Носитель: к каким группам носителей применяется свойство
Значение/Value
Определяет набор действительных значений свойства. Типы значений могут обозначаться по-разному:
- ключевые слова (например, auto, disc и т.д.);
- базовые типы данных, вводимые между символами "<" и ">" (например, <length>, <percentage> и т.д.). В электронной версии документа каждый объект базового типа данных связан со своим определением;
- типы, имеющие те же диапазоны значений, что и свойство, имеющее то же имя (например, <'border-width'>, <'background-attachment'> и т.д.). В данном случае имя типа является именем свойства (заключённым в кавычки) между символами "<" и ">" (например, <'border-width'>). В электронной версии документа каждый объект такого типа не-терминала ссылается на соответствующее определение свойства;
- не-терминалы, не использующие имя свойства. В данном случае имя не-терминала выводится между символами "<" и ">", например, <border-width>. Заметьте разницу между <border-width> и <'border-width'>; последнее определено в терминах предыдущего. Определение не-терминала размещается поблизости от его первого вхождения в данной спецификации. В электронной версии документа каждый объект этого типа ссылается на соответствующее определение значения.
Другие слова в этих определениях являются ключевыми словами, которые обязаны появляться буквально, без кавычек (например, red). Слэш (/) и запятая (,) также обязаны появляться буквально.
Значения должны быть организованы так:
- Несколько соседних слов означают, что все они должны появляться в указанном порядке.
- Вертикальная линия (|) разделяет две или более альтернативы: только одна из них должна быть записана.
- Двойная вертикальная черта (||) разделяет две или более опции: одна или более из них должны быть записаны в любом порядке.
- Скобки ([ ]) служат для группирования.
Соседство является более строгим, чем двойная вертикальная черта, а двойная вертикальная черта - строже, чем одинарная. Таким образом, следующие строки эквивалентны:
a b | c || d e [ a b ] | [ c || [ d e ]]
За каждым типом, ключевым словом или группой в скобках может следовать один из модификаторов:
- Звёздочка (*) - означает, что предыдущий тип, слово или группа появляется ноль или более раз.
- Плюс (+) - означает, что предыдущий тип, слово или группа появляется один или более раз.
- Знак вопроса (?) - означает, что предыдущий тип, слово или группа являются необязательными.
- Пара чисел в фигурных скобках ({A,B}) - означает, что предыдущий тип, слово или группа появляется не менее А и не более В раз.
Следующий пример иллюстрирует различные значения типов:
Value\Значение: N | NW | NE Value: [ <length> | thick | thin ]{1,4} Value: [<family-name> , ]* <family-name> Value: <uri>? <color> [ / <color> ]? Value: <uri> || <color>
Начальное/Initial
Специфицирует начальное значение свойства. Если свойство наследуется, это значение, данное корневому элементу дерева документа. См. в разделе Каскад информацию о взаимодействии между значениями - начальными, унаследованными и специфицированными в таблице стилей.
Применяется к/ Applies to
Перечисляет элементы, к которым применяется данное свойство. Предполагается, что все элементы имеют все свойства, но некоторые свойства не имеют действия на представление элементов определённых типов. Например, 'white-space' действует только на элементы уровня блока (block-level elements).
Наследуется/Inherited
Обозначает, может ли свойство наследоваться от элемента-предка. См. в разделе Каскад информацию о взаимодействии между значениями - начальными, унаследованными и специфицированными в таблице стилей.
Процентные значения/Percentage values
Указывает, как должны интерпретироваться процентные значения, если они появляются в значении свойства. Если появляется "N/A", это значит, что свойство не принимает процентных значений.
Группы носителей/Media groups
Обозначает группы носителей, к которым свойство применяется. Условия соответствия определяют, что ПА обязаны поддерживать это свойство, если они поддерживают представление в типах носителя, включённых в эти группы носителей.