Спецификация CSS2

Правила обработки ошибок грамматического разбора


В некоторых случаях ПА обязан игнорировать часть неверной таблицы стилей. В этой спецификации игнорирует означает, что ПА разбирает неверную часть (чтобы определить её начало и конец), но действует так, как будто её нет.

Для гарантий того, что новые cвойства и новые значения для существующих свойств смогут быть добавлены в будущем, от ПА требуется соблюдение следующих правил при обработке следующих сценариев:

  • Неизвестные cвойства. ПА обязан игнорировать объявление с неизвестным свойством. Например, если в таблице стилей указано:

    H1 { color: red; rotation: 70minutes }

    ПА будет рассматривать это, как если бы в таблице было:

    H1 { color: red }

  • Неверные значения. ПА обязан игнорировать объявление с неверным значением. Например:

    " IMG { float: left } /* корректно в CSS2 */ " IMG { float: left here } /* "here" это неверное значение для 'float' */ " IMG { background: "red" } /* ключевые слова CSS2 не могут вводиться в кавычках */ " IMG { border-width: 3 } /* для размеров должны быть указаны единицы измерения */

    Разборщик CSS2 примет первое правило и проигнорирует остальные, как если бы таблица была такой:

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

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

  • Неверные at-ключевые слова. ПА обязаны игнорировать неверные ключевые слова at- вместе с тем, что следует после них до (;) включительно или до блока ({...}), в зависимости от того, что идёт первым. Например, рассмотрим:

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

    Правило от- '@three-dee' не входит в CSS2. Следовательно, всё at-правило (до третьей правой фигурной скобки включительно) игнорируется. ПА CSS2 игнорирует его, уменьшая таблицу до:

    H1 { color: blue }



Содержание раздела