Алгебра в calc(), новая специфичность селекторов 4 уровня и другие майские новинки CSS
Вчерашняя (уже третья за май 2018 г.) телеконференция Рабочей группы CSS принесла несколько сюрпризов: в функцию calc()
добавили долгожданную возможность делить значения одинаковой размерности друг на друга (например, calc(500px / 100vw)
), получая безразмерные коэффициенты (а в перспективе — вообще делать любые математически допустимые операции с CSS-величинами, скажем, высчитывать площади фигур в квадратных пикселях, умножая высоту на ширину, или делить расстояние на время, получая скорость анимации в пикселях в секунду). А у псевдоклассов :matches()
, :not()
(со списком аргументов) и :has()
из модуля селекторов 4 уровня изменились правила специфичности — теперь она не будет высчитываться динамически в зависимости от того, какой аргумент из списка реально совпал, а всегда браться по самому специфичному из аргументов. Так что давнюю реализацию в WebKit и недавнюю частичную в Chrome опять придется переделывать — но, по идее, для будущих реализаций новый алгоритм станет проще.
А еще конец мая выдался «урожайным» на обновления CSS-спецификаций (постоянных версий, публикуемых как «технические отчеты», technical reports, в разделе w3.org/TR/, которые нужны для отслеживания истории развития стандартов и их патентной чистоты). 24 мая вышля обновленная редакция модуля CSS-изоляции (CSS Containment) 1 уровня, полезного для оптимизации перерисовки компонентов, и сразу два кандидата в рекомендации про режимы письма — 3 уровня (обновленный) и 4 уровня (впервые в этом статусе, включает добавочные возможности для вывода текста «боком»). А 28 мая обновилась редакция модуля CSS-колонок 1 уровня: он с 2011 г. уже был кандидатом в рекомендации, но с тех пор в нем нашли много проблем и неточностей, так что с октября 2017 г. его опять «понизили» до рабочего черновика (увы, с CSS-спецификациями такое бывает:). Но в новой редакции большинство проблемных мест исправлено, так что есть шанс, что скоро он вернет себе «солидный» статус — тем более что браузеры наконец дружно поддерживают его без префиксов.
Следить за новинками рабочей группы CSS можно в их блоге. А прояснять спорные вопросы лучше всего прямо на гитхабе:).
P.S. Это тоже может быть интересно:
Спасибо за статьи! Читаю с интересом, помогают прояснить многие пробелы, хоть занимаюсь версткой много лет. Периодически читаю спецификации html и css, обычно выборочно, если ищу ответы на вопросы. Но никак не могу разобраться, где находить список ВСЕХ спецификаций (и CSS, и HTML). На том же w3.org не могу найти списка или оглавления, только прямые ссылки на конкретные спецификации или ещё какие-то редакции. Чем отличаются и какую имеют важность черновики/кандидаты в рекомендации и прочие правки, и самое главное, как их различать и где вообще каталоги с этими документами (имею в виду в виде списков с датами или с версиями). Как среди всех в любой момент времени найти актуальную? Что первоисточник, W3C или WATWG. Иногда просто каша. Когда эти документы вступают в силу? Когда валидаторы начинают следовать правилам из этих спецификаций? Помогите разобраться, пожалуйста, доступным языком и со ссылками))
Спасибо за отклик! Подождите еще буквально чуточку, скоро будет статья как раз про это)
В каком блоке искать статью? CSS/Новости или ещё не вышла?
Было бы отлично, с нетерпением жду) Оставьте, пожалуйста, ссылку здесь на статью, когда она появится.
Все стандарты,
Статья про стандарты от CSS-Live.