我有一个元素列表,其样式如下:
ul {
list-style-type: none;
text-align: center;
}
li {
display: inline;
}
li:not(:last-child):after {
content:' |';
}
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
输出One | Two | Three | Four | Five |
而不是One | Two | Three | Four | Five
有谁知道如何在CSS中选择除了最后一个元素之外的所有元素吗?
您可以在这里看到:not()
选择器的定义
8条答案
按热度按时间z9gpfhce1#
如果是not选择器的问题,你可以设置所有的,覆盖最后一个
或者如果你可以使用之前,不需要最后一个孩子
wrrgggsh2#
每件事看起来都是正确的。你可能想用下面的css选择器来代替你用过的。
iyzzxitl3#
对我来说,它工作得很好
hfwmuf9z4#
你写的例子在Chrome 11上运行得很好。也许你的浏览器只是不支持
:not()
选择器?您可能需要使用JavaScript或类似的工具来完成此跨浏览器操作。jQuery在其选择器API中实现了:not()。
1tuwyuhd5#
使用CSS的示例
igsr9ssn6#
你的示例在IE中对我来说不起作用,你必须在文档中指定Doctype header,才能在IE中以标准方式呈现页面,以使用content CSS属性:
第二种方法是使用CSS 3选择器
但是您仍然需要指定Doctype
第三种方法是使用JQuery和一些脚本,如下所示:
第三种方式的优点是,你不必指定doctype,jQuery将负责兼容性。
ccrfmcuu7#
移除:在last-child之前和:之后和使用
希望能成功
w51jfk4q8#
移除:在last-child之前和:之后和使用