我的HTML页面中有一个DIV . 我根据某些条件展示了这个DIV . 但DIV显示在我指向鼠标光标的任何HTML元素后面 .
我已尝试从0到999999的Z-INDEX属性的所有值 .
谁能告诉我为什么会这样?
CSS的Z-INDEX属性是否有任何最小值或最大值?
例如,以下HTML在ascx控件中定义:
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
<asp:HyperLink ID="lnkProgram" runat="server"></asp:HyperLink>
</td>
</tr>
<tr>
<td>
<div class="divClass">
Some Data
</div>
</td>
</tr>
</table>
CSS是:
.divClass
{
position: absolute;
left: 25px;
top: 25px;
width: 320px;
height: 300px;
z-index: 1000;
display: none;
}
我正在使用主页上的Jquery显示和隐藏特定的DIV for Hyperlink .
12 回答
我发现,如果z-index不能正常工作,因为它的父/兄弟没有指定的z-index .
所以如果你有:
对于点击/悬停空间,第3项甚至#4可能正在争夺#2,但是如果你将#1设置为z-index 0,那么z-index将它们放在独立堆栈中的兄弟姐妹现在处于相同的堆栈中并将z-index正确 .
这有一个有用且相当人性化的描述:http://foohack.com/2007/10/top-5-css-mistakes/
我的测试显示
z-index: 2147483647
是最大值,在OS 3.0的FF 3.0.1上测试过 . 我发现了一个整数溢出错误:如果你输入z-index: 2147483648
(这是2147483647 1),该元素就会落后于所有其他元素 . 至少浏览器不会崩溃 .要学习的教训是,你应该注意为
z-index
属性输入太大的值,因为它们会环绕 .根据经验,我认为正确的最大值
z-index
是2147483638 .它是32位整数的最大值:2147483647
另请参阅文档:https://www.w3.org/TR/CSS22/visuren.html#z-index(允许使用负数)
Z-Index仅适用于已应用
position: relative;
或position: absolute;
的元素 . 如果那个's not the problem we' ll需要看一个示例页面更有帮助 .编辑:好医生已经给出了最全面的解释,但快速版本是最小值为0,因为它不能是负数和最大值 - 好吧,对于大多数设计,你永远不需要超过10 .
上面的用户说“好吧,对于大多数设计,你永远不需要超过10 . ”
根据您的项目,您可能只需要z-indexes 0-1或z-indexes 0-10000 . 你经常需要玩更高的数字......特别是如果你正在使用灯箱 Spectator (9999似乎是标准,如果你想要超越他们的z-index,你需要超过它!)
一个奇怪的事实,如果您使用像Firebug这样的编辑器并在
z-index
中放入一个大数字,浏览器将用最大值替换最大插值http://www.w3.org/TR/CSS21/visuren.html#z-index
http://www.w3.org/TR/CSS21/syndata.html#numbers
所以基本上CSS标准中的z-index值没有限制,但我猜大多数浏览器在实践中将它限制为带符号的32位值(-2147483648到2147483647)(64会有点偏离顶部,它不会这些天使用少于32位的东西是有意义的)
这取决于浏览器(尽管所有浏览器的最新版本最大值应为2147483638),浏览器在超过最大值时的反应也是如此 .
http://www.puidokas.com/max-z-index/
虽然
INT_MAX
可能是最安全的赌注,但WebKit显然在内部使用双打,从而允许非常大的数字(达到一定的精度) .LLONG_MAX
例如工作正常(至少在64位Chromium和WebkitGTK中),但将四舍五入到9223372036854776000 .(虽然你应该仔细考虑你是否真的,真的需要这么多z指数......) .
Z-index 的最小值为 0 ;最大值取决于浏览器类型 .