我有一个菜单列表。我没有使用UL / LI,只是嵌套的DIV。菜单项之间有图形分隔符。列表中的第一项需要抑制左边的填充;最后一项需要禁止右边的填充和图形分隔符。这是CSS:
.platformItem {
float: left;
padding: 0 12px;
background: url(/includes/themes/02RWO/images/assets/separator.gif) no-repeat top right;
}
.platformItem .first {
padding-left: 0 !important;
}
.platformItem .last {
padding-right: 0 !important;
background-image: none !important;
}
这是HTML:
<div id="platformMenu">
<div class="platformItem first"><a href="">All</a></div>
<div class="platformItem"><a href="">Windows</a></div>
<div class="platformItem"><a href="">Mac</a></div>
<div class="platformItem"><a href="">Linux</a></div>
<div class="platformItem last"><a href="">Web</a></div>
<div class="Clear"></div>
</div>
我希望我可以使用修饰符类来抑制某些属性。这可能吗?有更好的方法吗?
THX。
答案 0 :(得分:1)
您可以在现代浏览器中使用first-child伪选择器。但是last-child isn't supported in IE7 or IE8。您还可以查看jQuery's enhanced selectors:
(文档)$。就绪(函数(){
$("div span:last-child")
.css({color:"red", fontSize:"80%"})
});
答案 1 :(得分:1)
毕竟不需要JS。 .first和.last不是.platformItem的下游,而是来自#platformMenu。 (我应该看到这个。)新代码:
#platformMenu .first {
padding-left: 0 !important;
}
#platformMenu .last {
padding-right: 0 !important;
background-image: none !important;
}