css选择器问题,我都懵逼了

<div class="wrap">
    <p class="inner"></p>
    <p class="inner"></p>
    <p class="end"></p>
</div>

怎么选中最后一个inner,inner是不确定的,可能有多个。

是我没描述清楚,是选中最后一个inner,不是第二个

是我没讲清楚,inner的数量是不确定的,我要把它当成最后一个来选,而不是第二个。现在就想知道css能不能办到。

放弃了,准备js搞了,多谢各位的解答。

阅读 4.5k
11 个回答

nth-last-of-type(n) 选择器,这个应该符合你需求 :匹配属于父元素的特定类型的第 n个子元素的每个元素,从最后一个子元素开始计数。

修改下答案。不管有几个inner类,只要end类的数量保持唯一,那么:

/* 之前写的与规范不符,故更正 */
.wrap>p:nth-last-child(2) {}

补充:如果end类的数量不确定,那这个就不行了,配合jQuery的选择器应该会更快。

选中最后一个类名为inner的p标签

nth-child、还有last-child 都是不对的

clipboard.png

clipboard.png
看到上面图了吗 这两个只可以选中标签 但是并不可以按照类名选中
所以 我说 楼上所说的都实现不了 不对吗?
具体怎么用css实现我也不知道
估计是实现不了
还是用js控制吧

最后说一句 别总是搞不清情况就踩

nth-child选择器

新手上路,请多包涵

.wrap>.inner:nth-child(2){}大括号里写你的css样式

结果就是使用js完成后续筛选。


后续补充:nth-of(-last)-type选择器前只能使用标签名,不能使用类名及Id作为type的筛选。
例如.inner:nth-of-type(1)。相当于没有限制类型,结果同*:nth-of-type(1).inner


.inner:last-child

.inner:nth-child(2){

//css

}

nth-last-child(1)

还是js来搞吧,实现不了

推荐问题