Z-INDEX的最小值和最大值

我在我的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; } 

而我正在显示和隐藏特定的DIV用于超链接使用+ Jquery这是在主页上。

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

“z索引”

:auto | <整数> | inheritance

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

某些值types可能具有整数值(由<integer>表示)或实数值(由<number>表示)。 实数和整数只能用十进制表示。 一个<整数>由一个或多个数字“0”到“9”组成。 一个<number>既可以是一个<integer>,也可以是零个或多个数字,后跟一个点(。),后跟一个或多个数字。 整数和实数都可以用“ – ”或“+”来表示符号。 -0相当于0,不是负数。

请注意,许多允许整数或实数作为值的属性实际上将值限制在某个范围内,通常是非负值。

所以基本上CSS标准中的z-index值没有任何限制,但是我想大多数浏览器在实践中将它限制为带符号的32位值(-2147483648到+2147483647)(64位稍微偏离顶部)这些天使用小于32位的内容是没有意义的)

 ┌──────────────────────┬───────────────────┬──────────────────────────────────┐ │ Browser │ Max z─index value │ When exceeded, value changes to: │ ╞══════════════════════╪═══════════════════╪══════════════════════════════════╡ │ Firefox 0 - 2 │ 2147483647 │ element disappears │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Firefox 3 │ 2147483647 │ 0 │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Firefox 4+ │ 2147483647 │ 2147483647 │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Safari 0 - 3 │ 16777271 │ 16777271 │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Safari 4+ │ 2147483647 │ 2147483647 │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Internet Explorer 6+ │ 2147483647 │ 2147483647 │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Chrome 29+ │ 2147483647 │ 2147483647 │ ├──────────────────────┼───────────────────┼──────────────────────────────────┤ │ Opera 9+ │ 2147483647 │ 2147483647 │ └──────────────────────┴───────────────────┴──────────────────────────────────┘ 

我的testing显示z-index: 2147483647是最大的值,在OS 3.0的FF 3.0.1上testing。我发现了一个整数溢出错误:如果你键入z-index: 2147483648 (这是2147483647 + 1)落后于所有其他因素。 至less浏览器不会崩溃。

而要学习的一点是,你应该提防z-index属性input太大的值,因为它们环绕着。

这取决于浏览器(尽pipe所有浏览器的最新版本应该最大为2147483638),浏览器在超过最大值时的反应也是如此。

http://www.puidokas.com/max-z-index/

出于经验,我认为正确的最大z-index是2147483638。

这是32位整数的最大值:2147483647

另请参阅文档: https : //www.w3.org/TR/CSS22/visuren.html#z-index (允许使用负数)

Z指数的最小值是0 ; 最大值取决于浏览器types。

在这里输入图像描述

Z-Index仅适用于具有position: relative;元素position: relative;position: absolute; 适用于他们。 如果这不是问题,我们将需要看到一个示例页面更有帮助。

编辑:好医生已经把最充分的解释,但快速版本是最低为0,因为它不能是一个负数和最大 – 好吧,你永远不会真的需要去10以上的大多数devise。

我发现,如果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的点击/hover空间,但如果你设置#1到z-index 0,z-index的兄弟姐妹把他们放在独立的堆栈现在是在同一个堆栈并将z-index正确。

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

上面的用户说:“好吧,对于大多数devise,你永远不会需要超过10。

根据您的项目,您可能只需要z-index 0-1或z-indexes 0-10000。 你经常需要玩更高的数字……特别是如果你正在使用lightbox查看器(9999似乎是标准的,如果你想要超越他们的z-index,你将需要超过这个数字!)

一个奇怪的事实是,如果你使用像Firebug这样的编辑器并在z-indexinput一个大数字,那么浏览器会用最大值replace最大的插入值

虽然INT_MAX可能是最安全的赌注,WebKit显然在内部使用双打,因此允许非常大的数字(达到一定的精度)。 LLONG_MAX例如工作正常(至less在64位Chromium和WebkitGTK中),但会四舍五入到9223372036854776000。

(虽然你应该仔细考虑你是否真的需要这么多的z指标…)。