为什么这不起作用?http://jsfiddle.net/84C5W/1/
p{
display: none;
}
p.visible:last-of-type {
display: block;
}
<div>
<p class="visible">This should be hidden</p>
<p class="visible">This should be displayed</p>
<p class="">This should be hidden</p>
</div>
事实上,我的<p>
元素都是不可见的。如果我在选择器中删除对.visible
的引用,它确实会显示<p>
中的最后一个div,但这不是我想要的。
当然,我在任何时候都只能保留一个.visible
,但这是用于reveal.js演示文稿的,并且我无法控制JavaScript。
如何使用类.visible
选择div中的最后一个元素?我不想为此使用JavaScript。
发布于 2012-11-26 03:32:48
问题是:last-of-type
只匹配元素选择器。在您的示例中,您将尝试匹配class
选择器。这就是它不起作用的原因。
发布于 2017-07-16 12:26:10
指向倒数第二个标签。
.visible:nth-last-of-type(2) {}
发布于 2017-05-31 18:12:21
为了便于将来参考,这将在CSS4级:https://www.w3.org/TR/selectors4/#the-nth-last-match-pseudo中介绍
在撰写本文时,对浏览器的支持还不存在:http://css4-selectors.com/selector/css4/structural-pseudo-class/
当这个准备好了,这应该是解决方案:
p {
display : none;
}
p.visible:nth-last-match(0) {
display : block;
}
<div>
<p class="visible">This should be hidden</p>
<p class="visible">This should be displayed</p>
<p class="">This should be hidden</p>
</div>
https://stackoverflow.com/questions/13554552
复制相似问题