【问题标题】:z-index elements over dynamically generated html动态生成的 html 上的 z-index 元素
【发布时间】:2011-09-06 08:40:18
【问题描述】:

我有一个使用固定定位的 div,z-index 为 100,我想与页面上的所有其他元素重叠。我在使用 jquery ui 选项卡和动态生成的 html 时遇到了一些问题。

好像是因为tab里面的内容是动态生成的,所以栈顺序比较高,所以和我的div元素重叠了。有没有办法让 div 始终位于堆栈顺序的顶部?

我也尝试将 .ui-tabs 类的 z-index 顺序设置为 0(没用)

【问题讨论】:

    标签: jquery html css jquery-ui


    【解决方案1】:

    HTML 是动态生成的这一事实对 z-index 没有影响。我认为您更有可能在 CSS 上犯了错误。 Z-index 可能是一个棘手的属性,但确保它正常工作的方法是在每个可能干扰它的元素上声明一个 position: 属性。这可能意味着您只需要在要确保重叠的元素上声明 position:relative 和 z-index:0。

    如果您可以发布生成的 HTML 和影响它的 CSS(即在页面中加载动态生成的 HTML 之后),那也可能会有所帮助。

    【讨论】:

    • 是我使用的插件中的一个错误
    【解决方案2】:

    您也许可以编写一些花哨的 JS 来自动调整 z-index,但我怀疑这是必要的。

    HTML 和 CSS 中更可能存在错误。 链接到相关页面,或将源保存在pastebin.com 并链接到该页面。

    一般:

    1. 订单和树级仍然计数;将超级元素直接放在<body> 标记之后,即使它是单独定位的。
    2. z-index 为 100,不足以保证它具有最高值。我见过sites use z-indices of 199999 (EG: div#control) 或更高版本!
    3. 注意opacity 设置。

    见:

    【讨论】:

    • 我想我找到了问题所在。当动态内容创建垂直滚动条时,这些滚动条似乎覆盖了 div 的一部分。我不知道如何解决这个问题。我正在使用浏览器调整大小插件,所以当我稍微扩展页面时,位置是固定的以处理滚动条。
    • 已解决。这是一个 jquery 插件计算左位置值的问题,所以我把它改成了右:0,没有问题。
    猜你喜欢
    • 2014-11-29
    • 1970-01-01
    • 2013-04-06
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多