我有一个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仅适用于位置为:相对的元素;或位置:绝对的;应用于它们。如果这不是问题,我们将需要看到一个示例页面更有帮助。

编辑:这位好医生已经给出了最完整的解释,但快速的版本是,最小值是0,因为它不可能是负数,最大值-好吧,对于大多数设计来说,你永远不需要超过10。


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

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


根据经验,我认为正确的z指数最大值是2147483647。


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


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

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


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

也可以查看文档:https://www.w3.org/TR/CSS22/visuren.html#z-index (允许使用负数)


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

(尽管你应该仔细考虑你是否真的,真的需要这么多z指标…)


我发现如果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/  


z指数最大值为2147,483,647,大于此值则为2147,483,647

‌Browser Maximum More Than Maximum
Chrome >= 29 2,147,483,647 2,147,483,647
Opera >= 9 2,147,483,647 2,147,483,647
IE >= 6 2,147,483,647 2,147,483,647
Safari >= 4 2,147,483,647 2,147,483,647
Safari = 3 16,777,271 16,777,271
Firefox >= 4 2,147,483,647 2,147,483,647
Firefox = 3 2,147,483,647 0
Firefox = 2 2,147,483,647 Bug: tag hidden

在BrowserStack中测试的所有值。


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

最大的值:

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

最小值:

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

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

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