В такой ситуации inherit
используется в качестве значения для пользовательского свойства и не будет оцениваться до значения inherit
с использованием var()
.
Вот базовый пример для понимания проблемы:
.box {
--c:inherit;
color:var(--c,red);
}
<div>
<div class="box">I am a text</div>
</div>
<div style="--c:blue">
<div class="box">I am a text</div>
</div>
Обратите внимание, что во втором случае у нас синий цвет, потому что пользовательское свойство унаследовало это значение от верхнего div, после чего оно получило значение. В первом случае мы будем использовать цвет по умолчанию, поскольку наследовать нечего.
![enter image description here](https://i.stack.imgur.com/q7Jqr.png)
Другими словами, inherit
будет учитываться для пользовательского свойства, а не для свойства, где вы оцените пользовательское свойство с помощью var()
. Вы не найдете пользовательское свойство с вычисленным значением, равным , чтобы наследовать НО с вычисленным значением, равным , унаследованному значению .
С спецификацией :
Пользовательскими свойствами являются обычные свойства , поэтому они могут быть объявлены для любого элемента, разрешаются с помощью обычного наследования и правил каскадирования