Я пытаюсь использовать переменные CSS для свойств блочной модели. Я хочу поддержать как установку значения для всех сторон, так и для отдельных сторон. Я хочу иметь значения по умолчанию, но в любом случае иметь возможность переопределения.
Я пытаюсь использовать запасные значения, но без особого успеха.
Что-то вроде:
:root {
--border-width-top: 0;
--border-width-right: 0;
--border-width-bottom: 0;
--border-width-left: 0;
--border-width: 0;
}
div {
border-color: red;
border-style: solid;
border-width: var(--border-width, var(--border-width-top) var(--border-width-right) var(--border-width-bottom) var(--border-width-left));
}
div {
--border-width-top: 10px;
}
Это не будет работать, как если бы у значения width-width было значение по умолчанию, тогда оно всегда будет иметь приоритет над запасными значениями.
Не уверен, что есть способ сделать это в настоящее время, но я чувствую себя так близко к поиску решения.
Вот стэкблиц, с которым я играю: stackblitz