【问题标题】:Negative margin "hovering" div goes under later elements负边距“悬停” div 在后面的元素下
【发布时间】:2012-02-04 17:44:09
【问题描述】:

好的,所以我有三个<ul> 标签,每个标签都应用了float: left;<li> 标签有一个 :hover 规范,使它们的宽度增加并获得与宽度增益相等的负边距,因此在悬停时它们的大小增加而不移动任何东西。

问题在于,它们不是延伸到以下浮动的<ul> 标签上,而是延伸到它们“下方”。设置z-index 似乎对此没有任何作用,尽管我可能使用错了。我尝试在:hover 规范上设置z-index: 5;,我还尝试在连续的<ul> 标签上设置z-index: 3;z-index: 2;z-index: 1;,但都没有任何区别。

确实工作的一件事是让<ul>标签成为float: right;,这样最后一个实际上是最左边的,但我不喜欢这个解决方案,因为这意味着我的代码的顺序与页面上显示的顺序相反,这意味着我必须在所有内容上手动设置 tabindex 属性以修复 tab 顺序。

编辑:修复它; 7 小时内无法回答我自己的问题,但事实证明 z-index 不适用于 position: static;(默认)元素。我刚刚将position: relative; 添加到<li> 标签中,现在可以正常工作了。

【问题讨论】:

    标签: html css hover z-index margin


    【解决方案1】:

    您不能将 z-index 用于静态元素。考虑将其定位更改为relativeabsolute

    【讨论】:

      猜你喜欢
      • 2012-12-14
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2018-05-03
      • 2019-09-07
      • 2014-01-23
      • 2015-01-22
      • 2012-02-18
      相关资源
      最近更新 更多