Каскадные таблицы стилей, уровень 1.Спецификация CSS1


Последовательно-совместимый синтаксический анализ


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

  • установка неизвестного свойства игнорируется. К примеру, таблицу стилей

    H1 { color: red; rotation: 70deg }

UA будет обрабатывать, как если бы она имела вид

H1 { color: red; }

  • недопустимые значения, либо значения с недопустимыми частями, обрабатываются, как если бы определение отсутствовало:

    IMG { float: left } /* верно для CSS1 */ IMG { float: left top } /* "top" недопустимое значение для 'float' */ IMG { background: "red" } /* в CSS1 ключевые слова не закавычиваются */ IMG { border-width: 3 } /* должна быть указана размерность числа, */ /* выражающего значение длины */

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

    IMG { float: left } IMG { } IMG { } IMG { }

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

  • неправильная приставка к зарезервированному слову игнорируется вместе со всем последующим, вплоть до первой следующей точки с запятой (;) либо парных фигурных скобок ({}) включительно. Например, пусть мы имеем таблицу стилей:

    @three-dee { @background-lighting { azimuth: 30deg; elevation: 190deg; } H1 { color: red } } H1 {color: blue}

  • где '@three-dee' - недопустимое выражение для CSS1. Следовательно, вся строка с "собачкой" (вплоть до третьих правых фигурных скобок включительно) игнорируется.

    UA с поддержкой CSS1 пропускает изъятое выражение, фактически сокращая таблицу стилей до:

    H1 {color: blue}

    Более подробно:

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

    Таблица стилей CSS часто вставляется в документы HTML, и для сокрытия таблицы стилей от более ранних UA, желательно вставлять ее внутри комментариев HTML. Знаки комментариев HTML "" могут быть расположены перед, после и охватывая утверждения. Они могут отделяться интервалами.

    Предустановки начинаются с зарезервированных слов с приставкой в виде знака "собачки" '@' (к примеру: @import', '@page') и идентификатора. Идентификатор может состоять из букв, цифр, черточек и спецсимволов (определение ниже).

    Предустановка состоит из всего, что находится до следующей точки с запятой (;) включительно. UA для CSS, встречая предустановку, начинающуюся со слова с приставкой, иной чем слово '@import', игнорируют всю предустановку и продолжают отработку после ее окончания. Также игнорируется любая предустановка, начинающаяся с '@import', если она не располагается вверху таблицы стилей, скажем, после какого-либо правила (даже игнорируемого). Рассмотрим пример.

    Пусть анализатор CSS1 обрабатывает следующую таблицу стилей:




    - Начало -  - Назад -  - Вперед -



    Книжный магазин