Html 我可以更改CSS中带负边距的重叠顺序吗?

Html 我可以更改CSS中带负边距的重叠顺序吗?,html,css,layer,Html,Css,Layer,我有一个列表,在li:hover上,li获得一个底部边框(它已经有一个顶部边框)。不幸的是,这导致两个相邻的边界,所以现在2px宽,这是不好的。所以我想我可以扔一个边距底部:-1px悬停,这样就可以了,但不幸的是底部元素与当前元素重叠,所以我得到的边框颜色不正确 我如饥似渴地试着做z-index:1,但这没有任何作用。对我来说,这应该是解决问题的方法。加油,W3C 我不能使用位置: absolute是不可能的,因为我需要它在流程中 relative是不行的,因为lis有子uls需要相对于父ul

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

我如饥似渴地试着做
z-index:1,但这没有任何作用。对我来说,这应该是解决问题的方法。加油,W3C

我不能使用
位置

  • absolute
    是不可能的,因为我需要它在流程中
  • relative
    是不行的,因为
    li
    s有子
    ul
    s需要相对于父
    ul
    定位
在添加负边距时,有没有办法使上一个元素与下一个元素重叠


现在,我可能不得不做一些jQuery黑客,因为我已经很接近通过CSS完成所有的工作了

我不确定我是否理解你的问题,但以防万一,试试这个。如果我正确理解了你的问题,那么以下方法应该有效:

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

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

您能摆弄它吗?这样做会更容易understand@Hiral这是基本的想法。将鼠标悬停在图元上时,上边框和下边框都应为全黑色。但不幸的是,你看到了重叠。是的,你一定理解了它,因为它起作用了!谢谢你打开我的心扉给邻近的选择器,哇的潜力!我不需要使用
!重要信息
,我尽了很大努力在CSS中避免这种情况。很高兴能提供帮助:)