Сброс стилей в CSS

Спецификация CSS Cascading and Inheritance Level 3, недавно достигшая статуса CR (Candidate Recommendation), содержит два важных новшества.

  • Значение unset позволяет сбросить значение CSS-свойства. Для наследуемых свойств (например, font-size) значение unset эквивалентно значению inherit, для ненаследуемых (например, background) — initial.
  • Стенографическое свойство (!) all позволяет задать значение всем CSS-свойствам, поддерживаемым браузером, без необходимости их явного перечисления.

Их совместное использование в виде объявления all: unset должно позволить легко и изящно достигать эффекта, для которого в настоящее время используются многострочные правила в рамках таблиц стилей класса «reset» (например, reset.css).

Кроме того, это облегчит вставку сторонних виджет-блоков на страницы сайтов, минимизировав влияние собственных стилей сайта на внешний вид виджета. В таких случаях вместо unset может оказаться более подходящим значение initial, отменяющее всю цепочку наследования: например, можно задать для отдельного блока размер шрифта, не зависящий от размера шрифта элемента HTML.

Следует учитывать, что свойство display сбрасывается значениями unset и initial в состояние inline.

Поддержка этих возможностей ожидается уже в Firefox 27, выход которого запланирован на конец января 2014 года. Опробовать новшества прямо сейчас можно с помощью Nightly-сборок Firefox.


Вас также могут заинтересовать заметки «Локальные CSS-классы» и «EdgeHTML 13: initial и unset без all».