13 сентября 2024 года рабочая группа CSS выпустила первый публичный рабочий проект модуля CSS Values and Units Module Level 5. Он является продолжением предыдущего уровня и включает несколько интересных дополнений.
Вещи, которые ещё недавно были немыслимы, пробивают себе дорогу в спецификации: случайные значения, использование атрибутов в качестве значений в любом свойстве, возможность использовать порядок в вычислениях… Это выглядит многообещающе.
Многие из этих функций имеют общую черту: они упрощают CSS код. То, что раньше требовало множества правил или хаков, теперь можно будет сделать с помощью пары строк CSS. Как я уже сказал, это выглядит многообещающе. Вот список новых изменений (более подробная информация ниже):
✅ Изменения в функции
attr(): теперь она может использоваться с любым атрибутом и в любом свойстве CSS (не только в content).✅ Функция
calc-size(): использует в расчётах внутренние значения, такие как auto или min-content.✅ Новая функция
first-valid() позволяет избежать проблем с пользовательскими свойствами с невалидными значениями.✅ Новое семейство функций
*-mix() с новой нотацией для соотношений.✅ Новое семейство функций
*-progress() для вычисления соотношения прогресса между диапазонами или внутри media, или container.✅ Рандомизация с помощью новых функций
random() и random-item() для возвращения случайных значений из диапазона или списка (наконец-то!)✅ Новые функции
sibling-count() и sibling-index(), предоставляющие целочисленные значения для операций в зависимости от порядка и размера.✅ Новая функция
toggle() для стилизации вложенных элементов, позволяющая циклически перебирать список значений.✅Новая функциональная нотация для аргументов со списками значений, разделённых запятыми, позволяющая избежать двусмысленности с запятой, разделяющей аргументы.
✅Новые модификаторы URL для обеспечения большего контроля над
url() запросами.✅ Расширение до типа позиции, позволяющее использовать значения относительно потока.
🖥 Читать статью
📱 @dev_notes_ru
#frontend #css
