Первый CSS-модуль 4 уровня в статусе кандидата в рекомендации
На днях рабочая группа CSS в W3C решила напомнить нам, что будущее уже здесь, и без лишнего шума опубликовала CSS-модуль каскада и наследования 4 уровня в статусе кандидата в рекомендации. Это не опечатка. Модуль с «магической» цифрой 4 в названии — мы бы с радостью обозвали его звучным «CSS4», если бы в этом было хоть сколько-нибудь смысла — в статусе, означающем полную теоретическую готовность спецификации. Добро пожаловать в 2016-й!
Отличий от предыдущего модуля, с таким же названием, но 3 уровня — и, что интересно, тоже кандидата в рекомендации! — у новинки два: новое ключевое слово revert
и поддержка условия supports()
в директиве @import
. Первое позволяет «откатить» CSS-объявление в зависимости от его источника: для браузерных стилей — совсем (как если бы оно вообще нигде не было задано), для пользовательских стилей — до значения в браузерных стилях, и, наконец, для авторских стилей (тех, с которыми мы в основном работаем) — до пользовательских стилей. Второе еще интереснее, оно позволяет избирательно подключать CSS-файлы в зависимости не только от параметров экрана и т.п., но и в зависимости от поддержки тех или иных технологий — например, можно будет подключить грид-раскладку только для тех браузеров, которые будут поддерживать ее (ну и эту новую функцию, конечно). Остальные особенности каскада, включая иерархию важности источников стилей с непростыми взаимоотношениями между анимациями, переходами и !important на всех уровнях, остались прежними, так что эта статья всё еще актуальна.
W3C призывает разработчиков браузеров реализовать обе новинки и дает срок «минимум до 15 июня». Где-то вскоре после этой даты рабочая группа должна собраться и посмотреть, что получилось. Если окажется, что браузеры справились и новинка работает в них более-менее единообразно, спецификация станет предложенной рекомендацией, а затем, после покрытия тестами, и рекомендацией. А следующие обновления будут уже модулем 5 уровня!
Кстати, это не первый модуль CSS, опубликованный в наступившем году. Чуть раньше вышел модуль CSS-фрагментации 3 уровня (тоже кандидат в рекомендации!), позволяющий управлять разбивкой и переносом текста и элементов между страницами, колонками и регионами. А еще после оглавления в нем есть забавный слоган, который можно перевести как «Ломаем веб, по кусочку за раз»:). Надеемся, с этим озорным модулем тоже всё сложится хорошо!
P.S. Это тоже может быть интересно: