01.05.2025, Ссылка на новость
В бету Хромиума 137 добавили несколько крутых фич для CSS, и первая из них – if()
в CSS! Функция if()
– лёгкий способ на основе CSS-переменных описывать условные значения для свойств. Например можно простым способом описать переключение светлой и тёмной темы только через одну переменную:
:root {
--dark-color: #232323;
--light-color: #f5f5f5;
}
body {
--color: var(--light-color);
background-color: var(--color);
color: if(
style(--color: var(--light-color)): var(--dark-color);
else: var(--light-color)
);
@media (prefers-color-scheme: dark) {
--color: var(--dark-color);
}
}
Функция if()
на данный момент – сокращение синтаксиса для кастомных CSS-функций.
Вторая крутая фича – логические свойства для изменения порядка в a11y-дереве. Это полезно для тех случаев, когда порядок элементов изменен через order
во Флексах, или через grid-area
в Гридах. До 137 Хромиума доступность таких элементов страдала, т.к. порядок визуально был один, а через скринридеры – другой. Теперь мы сможем ещё лучше настраивать Accessibility.
Из приятных плюшек нам добавят более лучшую поддержку функции shape()
, добавленной в Chrome 136, которая позволяет описать кастомный путь для обрезки контента, а со 137 версии эта функция станет доступна и для настройки отступов.