По мере развития css в котором теперь и переменные, и функции, и обсуждается внедрение mixins
Только всё это сейчас не помогает для изоляции названий пользовательских свойств. Нет гарантий, что, подключая какую-нибудь библиотеку для календаря, там не окажется `--token-color-primary` как у вас в проекте. Библиотеки типа StyleX дают возможность устранить коллизии названий "CSS-переменных". Правда, отлаживать в инспекторе мучительно больно.
В самом примере для расчёта размера шрифта вьюпорт-единицы непосредственно не используются. Благодаря безразмерному множителю можно можно получить значение, которое будет меняться и при масштабировании экрана и учитывать настройки шрифта в браузере.
Где должно быть много сложных вычислений, которые нужно спрятать. Например, функция для вычисления безразмерного числа для размера вьюпорта: 0 - это минимальный размер, 1 - максимальный. Пригодится для плавной адаптивности. В демке - плавное изменение размера шрифта и прозрачности фонового цвета в зависимости от размера вьюпорта:
Только всё это сейчас не помогает для изоляции названий пользовательских свойств. Нет гарантий, что, подключая какую-нибудь библиотеку для календаря, там не окажется `--token-color-primary` как у вас в проекте. Библиотеки типа StyleX дают возможность устранить коллизии названий "CSS-переменных". Правда, отлаживать в инспекторе мучительно больно.
А такие точно есть? Сейчас в документации Eleventy такая функциональность помечена как to-do.
композиция классов
От препроцессоров - да, от БЭМ очень сложно отказаться
Можно не ждать и принести свое предложение в https://github.com/w3c/csswg-drafts/issues
А есть proposal?
В самом примере для расчёта размера шрифта вьюпорт-единицы непосредственно не используются. Благодаря безразмерному множителю можно можно получить значение, которое будет меняться и при масштабировании экрана и учитывать настройки шрифта в браузере.
Да, была неплохая статья с объяснением причин и инструментом для подбора значений, которые не ломали бы доступность.
Разве это можно реализовать на препроцессорах?
Где должно быть много сложных вычислений, которые нужно спрятать. Например, функция для вычисления безразмерного числа для размера вьюпорта: 0 - это минимальный размер, 1 - максимальный. Пригодится для плавной адаптивности. В демке - плавное изменение размера шрифта и прозрачности фонового цвета в зависимости от размера вьюпорта:
Не очень удачный пример. Без функции даже проще:
Можно было бы стилизовать нативные элементы
progressиmeter. Но там больше дополнительных действий по убиранию оформления по умолчаниюСо "срезами" как-то всё туманно.
Означает растянуть на всю высоту экрана, а не на высоту родительского элемента, что имеет больше смысла в контексте микрофронтов.
Те же табы недоступны с клавиатуры
От такого решения стоит отказаться хотя бы потому, что тут есть баг. Есть случаи, когда такой блок не будет квадратным.
Я для этого использую
:where. Например,.selector:where(.selector) {}Отображение со свойством
empty-cellsсильно зависит отborder-collapseСтранно, я это свойство в 2015-ом году использовал как улучшение.
Делать реализацию от типа тоже можно
А почему не хватает кэша для самих файлов, которые указываются в early hints?
Early hints как раз пришёл на смену http/2 push.