是否有连续同级的CSS选择器
我的清单如下:是否有连续同级的CSS选择器,css,css-selectors,Css,Css Selectors,我的清单如下: <ul> <li>Something</li> <li class="class1">Important</li> <li>I want this</li> <li>I want this</li> <li class="class1">Important</li> <li>I want this</li&g
<ul>
<li>Something</li>
<li class="class1">Important</li>
<li>I want this</li>
<li>I want this</li>
<li class="class1">Important</li>
<li>I want this</li>
<li>I want this</li>
<li>Something</li>
<li>Something</li>
</ul>
- 某物
重要的
- 我想要这个
- 我想要这个
重要的
- 我想要这个
- 我想要这个
- 某物
- 某物
在每个
.class1
元素之后,前两个元素是否有CSS选择器?.class1+li
将选择随后的第一个同级元素。
.class1+*+li
将选择第二个
要保持低特异性,您还可以使用:
.class1 + *,
.class1 + * + * {...}
但是要理解,.class1
只会选择适当的li
元素
这两种都是脆弱的选择器。脆弱性在于,即使稍微更改标记,它们也会断裂。考虑仅仅添加更多的类来针对适当的元素,并保持你的专一性低。第n类可能是你正在寻找的,第二个选择器的引用实际上是相当整齐的。“马丁,那么,这很可能会打动你的头脑。”阿齐兹,我从来没有遇到CSS选择器性能有影响的情况。我冒昧地猜测,任何遇到选择器性能问题的人都有一个更大的问题要解决(页面上的元素太多)。“这两个都是脆弱的选择器。脆弱的是,当你稍微更改标记时,它们都会断开。”这不是重点吗?OP只想针对紧随该类每个li之后的两个li元素。通过向以下两个元素中的每一个添加类来增加标记是没有意义的,只是为了在它们只会出现在该上下文中时能够以它们为目标-如果您无序分配这些类,那么您建议的类选择器将不正确匹配,这就是我所说的脆弱时钟,CSS是一种声明性语言,因此,当您只能使用名称时,避免试图描述深层关系路径是有益的。当我需要我妻子的父亲的兄弟的儿子的女儿传土豆时,我只要问她的名字就行了。回到这里的脆弱性问题,如果后来有人删除了一个
,这样结构就是.class1+li+.class1
,你将有一个意外的行为。这些更改非常常见,而复杂的关系选择器很难进行更改,因为其意图不明确。