html - 单击带有 z-index 的定位 div 以在下方提交按钮

标签 html css positioning z-index

我有:

<div style="bottom:0; left:0; right:0; position:fixed; z-index:50; display:inline-block;">
    <div style="margin:auto; width:500px; background-color:#90C553; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; border:1px solid #CCC; text-align:center;">
        <h3 style="font-size:17px; color:#0072A7; padding:10px 15px;">example</h3>
    </div>
</div>

如果有东西和这个div在同一层级,那么div就会溢出它。

有没有办法在不改变整个设计结构的情况下解决这个问题?

更新

外部 div 的空间从一侧延伸到另一侧 100%。因为它有 z-index 属性,所以它会溢出下面的所有内容。因此,例如,如果我有一个按钮,它在滚动期间将位于此 div 下方,则它不会被按下。

最佳答案

我有made a demo我认为这显示了问题和解决方案。您可能需要调整 HTML 的大小节,以便 <submit>按钮在“示例”下方<div>背景为绿色。

我使用的解决方案是 CSS3-UI pointer-events 属性(property)。不过有一个缺点,即它在 IE 或 Opera 中不受支持。根据Mozilla's documentation 适用于 Firefox 3.6+、Safari 3+、Chrome 4+。

我已经在 Chrome12 和 Firefox4 中测试过了,我可以点击 <submit> <div> 下的按钮

编辑:您可以重新设计网站或隐藏 <div>完全适用于 IE/Opera。但是,如果您可以使用 JavaScript(我猜您一定是因为 position:fixed 没有它就不能在 IE 中工作),我可以想到几个选项:

  1. 淡出/淡入 <div>当鼠标在上面时
  2. 获取鼠标坐标并找到 <input>在下方,然后以编程方式单击按钮(请参阅 http://www.vinylfox.com/forwarding-mouse-events-through-layers/ )

编辑 2:Updated demo 与 IE 一起工作。这个解决方案需要 jQuery,但它可能在没有库的情况下完成。您将需要使用 CSS position得到一个<input>在定位<div>下.

注意:这在 Click through div with an alpha channel 之前已经介绍过了和 Click through a DIV to underlying elements

关于html - 单击带有 z-index 的定位 div 以在下方提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5788841/

相关文章:

javascript - 从本地文件夹导入 type=module 的脚本会导致 CORS 问题

html - 无法让 css 转换工作

javascript - CTRL+F 移动溢出 :hidden <div>

css - 当每一篇文章(高度适合内容)开始一个接一个时,我如何构建一个容器

javascript - 如何在相对定位的网页中将DIV float 到内联DIV的第二行?

javascript - 从 Bootstrap 轮播中的特定幻灯片开始

html - 按列响应表

javascript - 无法滚动查看旧输入

css - 在 Rails 3.1 应用程序中使用@font-face?

css - 如何在 div 中的元素上使用忽略填充