我有一个列表,li:hover
li
获得了一个底部边框(它已经有一个顶部边框)。不幸的是,这导致两个相邻的边界,所以现在2px宽,这是不好的。所以我想我可以在悬停时抓住margin-bottom:-1px;
并且没关系,但不幸的是底部元素与当前元素重叠,所以我的边框颜色不正确。
我一直试着做z-index:1;
,但那没有做任何事情。对我来说,这应该是这样做的方式。来吧W3C!
我无法使用position
:
absolute
是不行的,因为我需要它在流动中。relative
不合格,因为li
的子ul
需要相对于父ul
定位。在添加负边距时,有没有办法让先前元素与下一个元素重叠?
现在我可能不得不做一些jQuery黑客攻击,非常接近通过CSS完成所有操作!
答案 0 :(得分:1)
我不确定我是否理解您的问题,但为了以防万一,请尝试adjacent sibling selector。如果我正确理解您的问题,那么以下内容应该有效:
li:hover + li{border-top:none !important;}
也许你不需要!important声明,但以防万一。此外,使用这种技术,您可以将其用于负边距,如您所提到的(或任何您需要的)