О спецификации CSS2

960
0
0

Содержание

1.1  Как читать эту спецификацию

Данная спецификация написана в расчёте на читателей двух типов: CSS-авторов и CSS-разработчиков. Мы надеемся, что эта спецификация снабдит авторов средствами, необходимыми для создания эффективных, привлекательных и доступных документов без излишнего углубления в детали реализации CSS. Разработчики к тому  же смогут найти всё необходимое для создания соответствующих пользовательских агентов (ПА).
Спецификация начинается общим представлением CSS и постепенно всё более углубляется в технические подробности и специфику. Для быстрого доступа к информации служат общие и специализированные оглавления в начале каждого раздела и индексы - в электронном и печатном виде.

Спецификация создана в расчёте на два типа представления: электронное и печатное. Хотя эти два типа, без сомнения, похожи, читатели могут заметить и некоторые отличия. Например, ссылки не будут работать в печатной версии (естественно), а номера страниц будут отсутствовать в электронной версии. В случае возникновения противоречий, электронная версия должна считаться определяющей.

1.2  Как организована эта спецификация

Эта спецификация содержит следующие разделы:

Раздел 2: Введение в CSS2
Введение содержит краткий учебник по CSS2 и обсуждение принципов дизайна вне CSS2.

Раздел 3 - 20: Справочник-учебник CSS2
Основу составляет справочник языка CSS2. Этот справочник определяет, что может входить в таблицы стилей CSS2 (синтаксис, свойства, значения свойств) и как ПА обязаны интерпретировать эти таблицы стилей, чтобы претендовать на соответствие.

Приложения:
Содержат образцы таблиц стилей для HTML 4.0, изменения относительно CSS1, замечания по реализации и выполнению, грамматике CSS2, список нормативных и информативных ссылок и три индекса: Свойства, Дескрипторы и Общий индекс.

1.3  Соглашения

1.3.1
Язык документа: элементы и атрибуты
  • В CSS имена свойств, дескрипторов и псевдоклассов ограничиваются одиночными кавычками.
  • Значения в CSS ограничиваются одиночными кавычками.
  • Элементы языка документа записываются буквами в верхнем регистре.
  • Имена атрибутов языка документа записываются в нижнем регистре и ограничиваются двойными кавычками.

1.3.2  Определения свойств CSS

Каждое определение свойства CSS начинается общей ключевой информацией:

'property-name'
Значение: действительные значения & синтаксис
Начальное: начальное значение
Применяется:   к соответствующим элементам
Наследуется:   если свойство наследуется
Процентное: интерпретация процентных значений
Носитель: к каким группам носителей применяется свойство
Значение/Value

Определяет набор действительных значений свойства. Типы значений могут обозначаться по-разному:

  1. ключевые слова (например, auto, disc и т.д.);
  2. базовые типы данных, вводимые между символами "<" и ">" (например, <length>, <percentage> и т.д.). В электронной версии документа каждый объект базового типа данных связан со своим определением;
  3. типы, имеющие те же диапазоны значений, что и свойство, имеющее то же имя (например, <'border-width'>, <'background-attachment'> и т.д.). В данном случае имя типа является именем свойства (заключённым в кавычки) между символами "<" и ">" (например, <'border-width'>). В электронной версии документа каждый объект такого типа не-терминала ссылается на соответствующее определение свойства;
  4. не-терминалы, не использующие имя свойства. В данном случае имя не-терминала выводится между символами "<" и ">", например, <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

Обозначает группы носителей, к которым свойство применяется. Условия соответствия определяют, что ПА обязаны поддерживать это свойство, если они поддерживают представление в типах носителя, включённых в эти группы носителей.

1.3.3 Сокращённые формы свойств

Некоторые свойства являются сокращёнными свойствами, что означает, что они позволяют авторам специфицировать значения нескольких свойств в одном свойстве.

Например, свойство 'font' является сокращением для одновременной установки 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height' и 'font-family'.

Если в сокращённом свойстве значения опущены (отсутствуют), каждое "отсутствующее" свойство устанавливается в своё начальное значение (см. раздел Каскад).

Пример(ы):

Несколько правил стиля в этом примере:

H1 {
  font-weight: bold;
  font-size: 12pt;
  line-height: 14pt;
  font-family: Helvetica;
  font-variant: normal;
  font-style: normal;
  font-stretch: normal;
  font-size-adjust: none
}

можно записать с помощью одного сокращённого свойства:

H1 { font: bold 12pt/14pt Helvetica }

В этом примере 'font-variant', 'font-stretch', 'font-size-adjust' и 'font-style' получают свои начальные значения.


1.3.4  Замечания и примеры

Все примеры, иллюстрирующие неправильное использование, явно помечены -  "НЕПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ".

Все примеры HTML соответствуют Строгому Определению Типа Документа HTML 4.0/Strict DTD, (определённом в [HTML40]), если иное не указано в объявлении типа документа.

Все примечания являются исключительно информативными.

Примеры и примечания промаркированы в коде HTML, чтобы ПА данной и CSS1 спецификаций представляли их особым образом.

1.3.5  Изображения и полные описания

Большинство изображений в электронной версии данной спецификации сопровождаются "полными описаниями" того, что изображено. Ссылка на полное описание обозначена "[D]" справа от изображения.

Изображения и полные описания являются исключительно информативными.

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

Данная спецификация является продуктом работы W3C Working Group над Cascading Style Sheets (Каскадными Таблицами Стилей) и Formatting Properties (Свойствами Форматирования). 

Помимо редакторов данной спецификации, членами Working Group являются:
Brad Chase (Bitstream),
Chris Wilson (Microsoft),
Daniel Glazman (Electricité de France),
Dave Raggett (W3C/HP),
Ed Tecot (Microsoft),
Jared Sorensen (Novell),
Lauren Wood (SoftQuad),
Laurie Anna Kaplan (Microsoft),
Mike Wexler (Adobe),
Murray Maloney (Grif),
Powell Smith (IBM),
Robert Stevahn (HP),
Steve Byrne (JavaSoft),
Steven Pemberton (CWI),
Thom Phillabaum (Netscape),
Douglas Rand (Silicon Graphics),
Robert Pernett (Lotus),
Dwayne Dicks (SoftQuad) и
Sho Kuwamoto (Macromedia).

Мы благодарим их всех.

Свой вклад внесли приглашённые эксперты Working Group:
George Kersher, Glenn Rippel (Bitstream),
Jeff Veen (HotWired), Markku T. Hakkinen (The Productivity Works),
Martin Dürst (W3C, до этого - Universität Zürich),
Roy Platon (RAL),
Todd Fahrner (Verso),
Tim Boland (NIST),
Eric Meyer (Case Western Reserve University) и
Vincent Quint (W3C).

Раздел Web Fonts разрабатывали Brad Chase (Bitstream),
David Meltzer (Microsoft Typography) и
Steve Zilles (Adobe).

Следующие сотрудники в разной степени участвовали в разработке разделов, относящихся в шрифтам: Alex Beamon (Apple), Ashok Saxena (Adobe), Ben Bauermeister (HP), Dave Raggett (W3C/HP), David Opstad (Apple), David Goldsmith (Apple), Ed Tecot (Microsoft), Erik van Blokland (LettError), François Yergeau (Alis), Gavin Nicol (Inso), Herbert van Zijl (Elsevier), Liam Quin, Misha Wolf (Reuters), Paul Haeberli (SGI) и, наконец, Phil Karlton (Netscape).

Раздел Paged Media (Страничные Носители) в значительной части авторизовали Robert Stevahn (HP) и Stephen Waters (Microsoft).

Robert Stevahn (HP), Scott Furman (Netscape) и Scott Isaacs (Microsoft) являлись ключевыми сотрудниками при разработке CSS Positioning (Позиционирование CSS).

Mike Wexler (Adobe) был редактором рабочих проектов, описавшим многие из новых возможностей CSS2.

T.V. Raman (Adobe) сделал основные разработки, относящиеся к Aural Cascading Style Sheets (ACSS)/Звуковым Таблицам Стилей/ и к концепции звукового представления, на базе своей работы в AsTeR (Audio System For Technical Readings). Он участвовал в разработке начального проекта спецификации ACSS, которая содержится в данной спецификации. Значения звуковых свойств для примера таблицы стилей HTML 4.0 разработаны им же; в настоящее время он использует всё это в каждодневной работе над своим audio desktop, в соединении с Emacspeak и браузером Emacs W3 (авторизованными William'ом Perry, разработавшим также звуковые расширения, ожидаемые W3).

Todd Fahrner (Verso) исследовал современные и предшествующие браузеры для разработки образцов таблиц стилей в Приложении.

Благодарим Jan Kärrman, автора html2ps, за большую помощь, оказанную при создании PostScript версии спецификации.

Преодолевая электронные и физические проблемы, следующие люди сотрудничали в разработке CSS2:
Alan Borning, Robert Cailliau, Liz Castro, James Clark, Dan Connolly, Donna Converse, Daniel Dardailler, Al Gilman, Daniel Greene, Scott Isaacs, Geir Ivarsøy, Vincent Mallet, Kim Marriott, Brian Michalowski, Lou Montulli, Henrik Frystyk Nielsen, Jacob Nielsen, Eva von Pepel, William Perry, David Siegel, Peter Stuckey и Jason White.

Дискуссия на www-style@w3.org обсуждала многие ключевые вопросы CSS. Особо мы хотели бы поблагодарить участников:
 Bjorn Backlund, Todd Fahrner, Lars Marius Garshol, Sue Jordan, Ian Hickson, Susan Lesch, Andrew Marshall, MegaZone, Eric Meyer, Russell O'Connor, David Perrell, Liam Quinn, Jon Seymour, Neil St. Laurent, Taylor, Brian Wilson и Chris Wilson.

Особая благодарность Web Accessibility Initiative Protocols и Formats Technical Review Working Group (WAI PF) за помощь в повышении доступности CSS2.

Благодарим Philippe Le Hégaret, чей проверщик CSS помогал выверить корректность примеров и правописания.

Особая благодарность Arnaud Le Hors, чья инженерная работа сделала этот документ рабочим.

Adam Costello улучшил эту спецификацию, выполнив детальную ревизию.

Наконец, благодарим Tim Berners-Lee, без которого всё это вообще было бы невозможно.

1.5  Авторские права

Copyright © 1997 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Все Права Зарезервированы.

Документы на сайте W3C предоставляются для копирования на основе следующей лицензии.
Получая, используя и/или копируя этот документ или документ W3C, на который в данном документе имеется ссылка, Вы согласны с тем, что Вы прочитали, поняли и согласны со следующими положениями и условиями:

Разрешение на использование, копирование и распространение содержания этого документа или документа W3C, на который в данном документе имеется ссылка, на любых носителях для любых целей и без оплаты или арендной платы даётся с условием, что Вы включите нижеследующую информацию во ВСЕ копии документа или его части, которые Вы используете:

  1. Ссылка URI на оригинальный документ W3C.
  2. Уведомление о предшествующих авторских правах оригинального автора, если они отсутствуют, в форме: "Copyright © World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Все Права Зарезервированы."
  3. Если они указаны, СТАТУС документа W3C.

Если место позволяет, необходимо включать полный текст этого УВЕДОМЛЕНИЯ.
Дополнительно должны быть приписаны заверения для владельцев авторских прав на любое программное обеспечение, документы или другие объекты или продукты, которые Вы создали в соответствии с выполнением содержимого данного документа или любой его части.

Вы не имеете права, в соответствии с данной лицензией, создавать модификации или выдержки.

ЭТОТ ДОКУМЕНТ ДАЁТСЯ "AS IS\КАК ЕСТЬ" И ВЛАДЕЛЬЦЫ АВТОРСКИХ ПРАВ НЕ ДАЮТ НИКАКИХ УКАЗАНИЙ ИЛИ ГАРАНТИЙ, ЯВНЫХ ИЛИ КОСВЕННЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯ, ГАРАНТИИ РЕАЛИЗУЕМОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ, НЕНАРУШЕНИЕ ЗАКОНА ИЛИ ИМЕНОВАНИЕ, - ЧТО СОДЕРЖИМОЕ ДАННОГО ДОКУМЕНТА ПОДХОДИТ ДЛЯ ЛЮБЫХ ЦЕЛЕЙ, НИ ЧТО ВЫПОЛНЕНИЕ ТАКОГО СОДЕРЖИМОГО НЕ  ВЫЗОВЕТ НАРУШЕНИЯ ПАТЕНТОВ КАКОЙ-ЛИБО ТРЕТЬЕЙ СТОРОНЫ, АВТОРСКИХ ПРАВ, ТОРГОВЫХ МАРОК И ДРУГИХ ПРАВ.

ВЛАДЕЛЬЦЫ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СПЕЦИАЛЬНЫЙ ИЛИ ВОЗМОЖНЫЙ ВРЕД, НАНЕСЁННЫЙ ИЗ-ЗА КАКОГО-ЛИБО ИСПОЛЬЗОВАНИЯ ДАННОГО ДОКУМЕНТА ИЛИ ВЫПОЛНЕНИЯ ИЛИ РЕАЛИЗАЦИИ ЕГО СОДЕРЖИМОГО.

Имена и торговые марки владельцев авторских прав НЕ могут использоваться для публичных целей и рекламы данного документа или его содержимого без специального письменного разрешения. Наименование авторских прав в данном документе всегда остаётся за их владельцами.

Теги Web


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

    При использовании материалов данного сайта прямая и явная ссылка на сайт radiomaster.ru обязательна. 0.1878 s