【发布时间】: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