我尝试过 :first-child :nth-of-type 以及其他一些选择不基于子级父级的第一个和最后一个元素的方法。
对于 CSS,我想选择具有特定属性的第一个和最后一个元素。
<div>
<div></div>
<div></div>
<div data-select></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div data-select></div>
<div></div>
<div></div>
<div data-select></div>
<div>
Run Code Online (Sandbox Code Playgroud)
无论其父容器如何,如何选择找到的第一个和最后一个“数据选择”元素?
因为:nth-child只查看子元素的索引并且:nth-of-type只查看类型子元素的
不幸的是,您可以使用纯 CSS 做的最接近的事情是选择具有给定属性的所有元素,然后覆盖具有该属性的所有后续元素所应用的样式。
div > div[data-select] {
border-color: #f00;
}
div > div[data-select] ~ [data-select] {
border-color: #000; /* Revert back to initial styling */
}
Run Code Online (Sandbox Code Playgroud)
div > div[data-select] {
border-color: #f00;
}
div > div[data-select] ~ [data-select] {
border-color: #000; /* Revert back to initial styling */
}
Run Code Online (Sandbox Code Playgroud)
div > div {
height: 1em;
border: 2px solid #000;
margin: 0.4em;
}
div > div[data-select] {
border-color: #f00;
}
div > div[data-select] ~ [data-select] {
border-color: #000; /* Revert back to initial styling */
}Run Code Online (Sandbox Code Playgroud)