我可以在CSS中使用负边距更改重叠顺序吗?

时间:2013-10-18 04:37:16

标签: html css css3 layer

我有一个列表,li:hover li获得了一个底部边框(它已经有一个顶部边框)。不幸的是,这导致两个相邻的边界,所以现在2px宽,这是不好的。所以我想我可以在悬停时抓住margin-bottom:-1px;并且没关系,但不幸的是底部元素与当前元素重叠,所以我的边框颜色不正确。

我一直试着做z-index:1;,但那没有做任何事情。对我来说,这应该是这样做的方式。来吧W3C!

我无法使用position

  • absolute是不行的,因为我需要它在流动中。
  • relative不合格,因为li的子ul需要相对于父ul定位。

在添加负边距时,有没有办法让先前元素与下一个元素重叠?

现在我可能不得不做一些jQuery黑客攻击,非常接近通过CSS完成所有操作!

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解您的问题,但为了以防万一,请尝试adjacent sibling selector。如果我正确理解您的问题,那么以下内容应该有效:

li:hover + li{border-top:none !important;}

也许你不需要!important声明,但以防万一。此外,使用这种技术,您可以将其用于负边距,如您所提到的(或任何您需要的)