css специфичность и css vars в полимере

Я использую полимер, и я думаю, что это но, но я не совсем уверен.

В моем основном документе у меня есть это:

<style is="custom-style">
      :root {
        --child-element-bg: #000;
        --child-element-mixin: {
              border: 10px solid #f30;
       };
     }
</style>

<parent-element>
     <child-element></child-element>
</parent-element>

Внутри моего дочернего элемента у меня есть этот блок стиля

<style>
    :host {
        background-color: var(--child-element-bg, --some-other-default);
        @apply(--child-element-mixin);
    }
</style>

Все отлично работает. Однако внутри моего родительского элемента у меня есть:

 <style>
    :host {
        --child-element-bg: #f30;
        --child-element-mixin: {
              border: 5px solid #000;
       };
    }
</style> 

Мой дочерний элемент получает сплошной цвет # 000 размером 5 пикселей, но не цвет фона # f30.

Я делаю что-то неправильно? Это известная ошибка?


person dan    schedule 10.05.2016    source источник
comment
Я начинаю думать, что это невыполнимо? Кто-нибудь может подтвердить? Нет ли способа перезаписать переменную, которая была установлена ​​с помощью :root в пользовательском стиле внутри определенного элемента?   -  person dan    schedule 18.05.2016


Ответы (1)


Это не ошибка. Вот как Polymer реализовал свои css-переменные.

person dan    schedule 15.07.2016
comment
То есть никак нельзя решить эту проблему? - person cdomination; 15.07.2016
comment
насколько я могу судить на данный момент, ваши переменные :root выиграют. Я забыл, что разместил этот вопрос, поэтому я не могу вспомнить, где я его нашел, но если я не ошибаюсь, это была проблема с производительностью, чтобы он вел себя правильно. Таким образом, ограничение: root - person dan; 15.07.2016