我有一个包含多个<li>
的列表,我希望在所有这些列表之间添加边距。
我更喜欢以下哪一项? (如果有的话)为什么它比另一个好?
li:not(:last-child) { margin-bottom: 5px; }
或
li:nth-child(n+2) { margin-top: 5px; }
This page表明:not
选择器的浏览器支持率高于:nth-child
。 (因为:nth-child
在FF3中不起作用)我正在寻求广泛的浏览器支持。那个页面已经过时了,所以我想在这里问明智社区。我有什么理由比较喜欢彼此吗?
答案 0 :(得分:2)
我认为您找到的最佳浏览器支持将间距设为margin-top
,并在:first-child
的第一个上删除它。 :first-child
比其他伪选择器有更好的支持,并且受 IE8 IE7支持更好。
此外,以这种方式做事意味着当你只有1个元素时,你就不会有无用的余量,这就是你的心态。
如果你必须支持旧的IE,那么我认为你必须使用JS。