我想要我在全球範圍內使用reset.css
的應用程序。我也喜歡它穿透所有的影子根,但是具有低特異性。我怎樣才能做到這一點?Shadow DOM重置樣式表
比方說,我reset.css
包含類似:
li, ::shadow li {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
然後我定製的元素有一個模板:
<template>
<style>
li {
padding: 10px;
}
<style>
<ol>
<li>Foo</li>
<li>Bar</li>
<li>Baz</li>
</ol>
</template>
我的問題是模板的li
選擇沒有足夠的特異性擊敗::shadow li
。我不想在每個定製元素中重複自己。我想我可以爲每個<template>
添加一個<link>
,但是我會再次重複自己。我也可以用JavaScript注入<link>
,但我不確定這是最好的方法。
我可以使用reset.css
的其他一些方法來穿透影子根,但它的特異性很小?
是否有任何理由避免在模板中使用CSS類?爲什麼你不能通過一個類提供全局CSS特性的本地覆蓋? –
這就是爲什麼'全部'屬性被創造出來......我們現在需要的是爲每個實現陰影樣式的人也實現它。 – BoltClock
@MikeBrant,我可以使用類,但即使如此,我也必須比我想要的更冗長。 '.padded {}'不夠具體,也不'li.padded' ...我不得不使用'ol li.padded'來覆蓋':: shadow li'。 –