Приложение В. Метаморфозы по сопоставлению с CSS1
Это приложение является информативным, но не нормативным.
CSS2 построен на основе CSS1, и все
действительные таблицы жанров CSS1 являются
действительными таблицами жанров CSS2.
Метаморфозы между спецификацией CSS1 (см. [CSS1])
и данной спецификацией делятся на три
группы: новая функциональность,
обновлённые изложения функциональности CSS1 и
метаморфозы по сопоставлению с CSS1.
В дополнение к функциональности CSS1, CSS2 поддерживает:
- Понятие типов носителя.
- Значение 'inherit' для всех свойств.
- Страничные носители
- Звуковые таблицы стилей
- Несколько опций интернационализации, включая стили нумерации списков, поддержку двунаправленного текста
и эмоциональных к языку знаков кавычек.
- Расширенный механизм выбора
шрифта, включая смысловой подбор, синтез
и загружаемые шрифты. Введены также
представление системных шрифтов и новое
качество 'font-size-adjust'.
- Таблицы, включая новые
значения 'display' и 'vertical-align'.
- Относительное и
абсолютное позиционирование,
включая фиксированное позиционирование.
- Новые типы боксов (наравне с блок- и инлайн-): compact и run-in.
- Возможность контролировать переполнение, сжатие и видимость содержимого в
модели визуального форматирования.
- Возможность специфицировать максимальные и минимальные ширину и высоту в модели визуального форматирования.
- Расширенный механизм селекторов,
включая дочерние селекторы, смежные селекторы и селекторы признаков.
- Генерируемое содержимое,
счётчики и механическую
нумерацию и маркёры.
- Оттенение текста с поддержкой нового
свойства 'text-shadow'.
- Различные новые псевдоклассы, :first-child,
:hover, :focus, :lang.
- Системные цвета и шрифты.
- Курсоры.
- Динамические схемы.
Спецификация CSS1 была короче и суперкомпактнее.
Данная спецификация гораздо объёмнее и
больше читабельна. Огромная часть нового
материала описывает новую
функциональность, но изложения из CSS1 также
расширены. За исключением немногих случаев,
описанных ниже, обновлённые изложения не
изменили ни синтаксис, ни семантику.
Хотя все действительные таблицы жанров CSS1
являются таковыми и в CSS2, есть несколько
случаев, когда таблицы жанров CSS1 будут
иметь другие значения при интерпретации в
качестве таблиц CSS2. Множество изменений
обусловлено навыком разработки, но есть
также и корректировка некоторых ошибок.
- Значение "!important" изменено. В CSS1
"!important" в таблице жанров автора имел
превосходство перед "!important" таблицы
жанров пользователя. В CSS2 сделано напротив.
- В CSS2 значения цвета
ужаты в соответствии с гаммой устройства,
а не с гаммой sRGB, как в CSS1.
- В CSS1 легко указано, что 'margin-right' игнорировалось, если 'margin-left' и 'width' были
установлены. В CSS2 выбор между смягчением 'margin-right' либо 'margin-left' зависит от направления письма.
- В CSS1 некоторые свойства (скажем, 'padding')
имели значения, ссылающиеся на ширину родительского элемента. Это было оплошностью;
значение неизменно должно ссылаться на ширину элемента яруса блока, и данная
спецификация отражает это путём ввода термина "containing block/содержащий блок".
- Начальное значение 'display' - 'inline' в CSS2, а не 'block', как в CSS1.
- В CSS1 качество 'clear' использовалось ко каждым элементам. Это было оплошностью, и в CSS2
свойства используются только к элементам яруса блока.
- В CSS1 ':link', ':visited' и ':active' были взаимоисключающими; в CSS2 ':active' может
возникать совместно с ':link' либо ':visited'.
- Предлагаемый фактор масштаба между
смежными индексами 'font-size' в таблице размеров шрифтов уменьшен с 1.5 до 1.2.
- Теперь наследуется вычисленное, а не
нынешнее, значение 'font-size'.
- CSS1-изложение 'inside' (для 'list-style-position'),
допускало влияние на левое поле текста, а не на позицию маркёра. В CSS2 такая
истолковывание правила устранена.
- См. также нормативный раздел Различия между символизаторами CSS1 и CSS2.