首页IT科技css选择器选择第一个子元素(如何用css选择器选中某个类的第一个元素)

css选择器选择第一个子元素(如何用css选择器选中某个类的第一个元素)

时间2025-04-30 05:51:49分类IT科技浏览4171
导读:现在有一个这样的结构 要将’选中’变成红色改怎么使用css...

现在有一个这样的结构

要将’选中’变成红色改怎么使用css

<div class="cont"> <p>不选中</p> <p >不选中</p> <h1>不选中</h1> <p class="item">选中</p> <p class="item">不选中</p> <p>不选中</p> <p class="item">不选中</p> <p class="item">不选中</p> <p class="item">不选中</p> </div>

首先想到的是 伪类选择器 .item:first-child

但是上面这句其实是选中一下两个条件都满足的元素 class为.item的元素 是父元素第一个元素

也就是说这句加上去,不会选到任何一个元素,因为父元素div下的第一个元素不是class=.item的元素

除此之外,可以使用兄弟选择器~,这个选择器 A~B 则可以选中 A后的所有B元素,只要它们共用一个父元素,

于是可以得出第一个方案

先选中全部的.item

.cont> .item { color: red; }

再撤销不需要选中的

.cont> .item ~ .item { color: #000; }

这样弄不太好,因为初始属性还要去重新设置,要是每个<p></p>的颜色都是在不同地方设置的不同颜色,就不好改了

这时候可以用 :not选择器得出方案二

.cont>.item:not(.item ~ .item){ color: red; }

建议

第一,不要用伪类选择器怎么搞,因为手机好像不能用兄弟选择器的样子,放到手机上就失效了 第二,可读性太差,而且如果想选中第二个就需要再再用兄弟选择器,第三个以此类推,会写很长,不如直接在class里面加个item_1这种的,用2个class选中.item,.item_1会快很多

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
.net core中间件和请求管道(.Net Core中间件) vue2和vue3的区别大不(vue3与vue2的对比)