Я пытаюсь использовать переменные 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;
}
Это не будет работать, как если бы ширина границы была задана по умолчанию, тогда она всегда будет иметь приоритет над резервными значениями. Не уверен, что в настоящее время есть способ сделать это, но я чувствую себя так близко к поиску решения.
Вот стек, с которым я играю: stackblitz