我有一个div在我的HTML页面。我基于某些条件显示这个div,但是div显示在我指向鼠标光标的HTML元素后面。

我已经尝试了z-index从0到999999的所有值。有人能告诉我为什么会这样吗?

CSS的Z-INDEX属性是否有最小值或最大值?

.divClass { 位置:绝对的; 左:25 px; 上图:25 px; 宽度:320 px; 身高:300 px; z - index: 1000; } <table cellspacing="0" cellpadding="0" width="100%"> < tr > < td > <asp:HyperLink ID="lnkProgram" runat="server"></asp:HyperLink> < / td > < / tr > < tr > < td > < div class = " divClass”> 一些数据 < / div > < / td > < / tr > 表> < /

我显示和隐藏div与. divclass onclick通过<asp:超链接>使用jQuery。


当前回答

我的测试表明z-index: 2147483647是最大值,在OS X的FF 3.0.1上测试。 我发现了一个整数溢出的错误:如果你输入z-index: 2147483648(这是2147483647 + 1),元素只是在所有其他元素后面。至少浏览器不会崩溃。

从中可以学到的教训是,你应该小心,不要为z-index属性输入太大的值,因为它们会绕圈。

其他回答

我的测试表明z-index: 2147483647是最大值,在OS X的FF 3.0.1上测试。 我发现了一个整数溢出的错误:如果你输入z-index: 2147483648(这是2147483647 + 1),元素只是在所有其他元素后面。至少浏览器不会崩溃。

从中可以学到的教训是,你应该小心,不要为z-index属性输入太大的值,因为它们会绕圈。

http://www.w3.org/TR/CSS21/visuren.html#z-index

“z - index” 取值范围:auto | <integer> | inherit

http://www.w3.org/TR/CSS21/syndata.html#numbers

Some value types may have integer values (denoted by <integer>) or real number values (denoted by <number>). Real numbers and integers are specified in decimal notation only. An <integer> consists of one or more digits "0" to "9". A <number> can either be an <integer>, or it can be zero or more digits followed by a dot (.) followed by one or more digits. Both integers and real numbers may be preceded by a "-" or "+" to indicate the sign. -0 is equivalent to 0 and is not a negative number. Note that many properties that allow an integer or real number as a value actually restrict the value to some range, often to a non-negative value.

所以基本上在CSS标准中没有对z-index值的限制,但我猜大多数浏览器在实践中将其限制为带符号的32位值(−2147483648到+2147483647)(64会有点超出顶部,而且现在使用任何低于32位的值都没有意义)

我发现如果z-index不能正常工作,通常是因为它的父/兄弟姐妹没有指定的z-index。

如果你有:

<div id="1">
    <a id="2" style="z-index:2"></a>
    <div id="3" style="z-index:1"></div>
    <button id="4"></button>
</div>

项目#3,甚至#4可能会争夺#2的点击/悬停空间,尽管如果你将#1设置为z-index 0,将它们放在独立堆栈中的兄弟姐妹现在都在同一个堆栈中,并将正确地进行z-index。

它有一个有用且相当人性化的描述:http://foohack.com/2007/10/top-5-css-mistakes/  

使用calc()有超级简单的方法来为z-index写最大值和最小值。

最大的值:

#some-id {
  z-index: calc(9e999)
}

最小值:

#some-id {
  z-index: calc(-9e999)
}

浏览器兼容性(<number>值支持)

48+ 狩猎季节7点 IE 9 * 歌剧18+ 铬色31+ Edge 12

上面的一位用户说:“好吧,大多数设计都不需要超过10。”

根据您的项目,您可能只需要0-1的z索引,或者0-10000的z索引。你经常需要使用更高的数字,特别是当你使用灯箱查看器时(9999似乎是标准,如果你想超过它们的z指数,你需要超过它!)