У нас есть CSS сбрасывает (margin:0px;padding:0px;)
в файле общего стиля, который мы создали как один компонент и включили как часть других компонентов, которые мы разрабатываем.
Мы используем универсальные селекторы, как показано ниже
*,*:before,*:after{
color:pink
}
Для каждого из наших компонентов у нас есть стиль :host
, с помощью которого мы пытаемся переопределить этот цвет
:host{
color:yellow
}
Как мы ожидаем, :host
будет иметь больше специфичности по сравнению с универсальнымСелектор, как ни странно, это не тот случай. универсальные стили селектора переопределяют наши :host
стили
Мы просто хотим, чтобы стиль MAKE ME GREEN был выполнен из компонента z-foo (в примере с приложенным plnkr)
Пробовал несколько подходов, и, похоже, ничего не работает
http://plnkr.co/edit/l8NSJT?p=preview
Его розовый цвет означает, что он по-прежнему переопределяется универсальным селектором
<!-- import polymer-element -->
<link rel="import" href="https://polygit.org/polymer+:2.0-preview/webcomponentsjs+:v1/shadydom+webcomponents+:master/shadycss+webcomponents+:master/custom-elements+webcomponents+:master/components/polymer/polymer-element.html">
<dom-module id='z-foo'>
<template>
MAKE ME GREEN
<!-- Encapsulated, element-level stylesheet -->
<style>
:host{
color:green;
}
</style>
<div>
I'm z-foo and i am green.
</div>
</template>
<script>
class ZFoo extends Polymer.Element {
static get is() {
return "z-foo";
}
}
customElements.define(ZFoo.is, ZFoo);
</script>
</dom-module>