Я бы хотел, чтобы приложение, которое я делаю, использовало reset.css
на глобальном уровне. Я также хотел бы, чтобы он проникал во все теневые корни, но имел низкую специфичность. Как я могу это сделать?
Допустим, мой 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
. Я не хочу повторяться в каждом пользовательском элементе. Думаю, я мог бы добавить <link>
к каждому <template>
, но тогда я снова буду повторяться. Я также мог бы использовать JavaScript для внедрения <link>
, но я не уверен, что это лучший способ.
Какими еще способами я мог бы использовать reset.css
, который проникает в теневые корни, но имеет очень мало специфичности?
all
... все, что нам сейчас нужно, это чтобы каждый, кто реализует теневые стили, также реализовал его. - person BoltClock   schedule 15.08.2015.padded {}
недостаточно конкретен, как иli.padded
... Мне пришлось бы использоватьol li.padded
, чтобы переопределить::shadow li
. - person Olson.dev   schedule 15.08.2015all
, прежде чем спрашивать, но я не знаю, как применить его к этому сценарию. Хотите уточнить? - person Olson.dev   schedule 15.08.2015all: unset
для всего остального. Все, что не унаследовано, принимает свое начальное значение, а все, что унаследовано, наследуется полностью от корня. Хотя при ближайшем рассмотрении я думаю, что каскад все равно будет проблемой... - person BoltClock   schedule 15.08.2015::shadow li
вы могли бы попробовать* /deep/ li
- универсальный селектор имеет нулевую специфичность, а комбинаторы также не добавляют специфичности. (/deep/
теперь>>>
в спецификации, но имплы не обновлялись, насколько мне известно.) - person BoltClock   schedule 15.08.2015* /deep/ li
, и он все еще как-то более специфичен. - person Olson.dev   schedule 15.08.2015/deep/
,>>>
и::shadow
теперь устарели. - person Olson.dev   schedule 10.09.2015