0

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

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

我不能使用position

  • absolute是不行的,因为我需要它流入。
  • relative是不行的,因为lis 有 childul需要相对于 parent 定位ul

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

现在我可能不得不做一些 jQuery hacking,这已经非常接近通过 CSS 完成了!

4

1 回答 1

1

我不确定我是否理解您的问题,但以防万一,请尝试使用相邻的兄弟选择器。如果我正确理解您的问题,那么以下内容应该有效:

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

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

于 2013-10-18T05:00:54.643 回答