jQuery 对话框中的 Z 索引。自动建议列表未正确显示
我在 jQuery 对话框中显示自动建议框时遇到问题。无论如何,自动建议列表都会显示在对话框下方。我尝试将 autosuggest 的 z-index 属性设置为 > 1004.但运气不佳。
下面是屏幕截图。
这是我用来设置自动建议列表样式的 CSS 类:
ul.as-list {
position: absolute;
list-style-type: none;
margin: 2px 0 0 0;
padding: 0;
font-size: 14px;
color: #000;
font-family: "Lucida Grande", arial, sans-serif;
background-color: #fff;
background-color: rgba(255,255,255,0.95);
box-shadow: 0 2px 12px #222;
-webkit-box-shadow: 0 2px 12px #222;
-moz-box-shadow: 0 2px 12px #222;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
z-index:6000;
}
li.as-result-item, li.as-message {
margin: 0 0 0 0;
padding: 5px 12px;
background-color: transparent;
border: 1px solid #fff;
border-bottom: 1px solid #ddd;
cursor: pointer;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
z-index:6000;
}
我已在此上传了完整的代码jsfiddle 页面。你可以清楚地看到那里的问题。我该如何修复它?
I have a problem displaying the autosuggest box inside a jQuery dialog. The auto suggest list is displayed under the dialog no matter what. I have tried setting up the z-index property of autosuggest to > 1004. But no luck.
Below is the screenshot.
This is the CSS class I have used to style the autosuggest list:
ul.as-list {
position: absolute;
list-style-type: none;
margin: 2px 0 0 0;
padding: 0;
font-size: 14px;
color: #000;
font-family: "Lucida Grande", arial, sans-serif;
background-color: #fff;
background-color: rgba(255,255,255,0.95);
box-shadow: 0 2px 12px #222;
-webkit-box-shadow: 0 2px 12px #222;
-moz-box-shadow: 0 2px 12px #222;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
z-index:6000;
}
li.as-result-item, li.as-message {
margin: 0 0 0 0;
padding: 5px 12px;
background-color: transparent;
border: 1px solid #fff;
border-bottom: 1px solid #ddd;
cursor: pointer;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
z-index:6000;
}
I have uploaded the complete code in this jsfiddle page. You can see the problem there clearly. How can I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
根本原因是最外面的两个元素有
overflow:hidden
。解决这个问题的最简单方法是:
如果您对使用
!important
不满意(这不是一个好的做法),您可以找到overflow:hidden
实际上的位置正在应用,并在那里修复它。快速修复版本:http://jsfiddle.net/mNQVr/(在 Chrome、Firefox、IE 中测试 )
The root cause is that the outermost two elements have
overflow: hidden
.The simplest way to fix that is:
If you're not happy with using
!important
(it's not good practise), you can find the place whereoverflow: hidden
is actually being applied, and fix it there.Quick fix version: http://jsfiddle.net/mNQVr/ (tested in Chrome, Firefox, IE)
这是你可以做的:
This is what you can do:
这可以做到:
This may do it:
它应该像我在您提供的 jsfiddle 链接中测试的那样工作:
It should work as I tested that in jsfiddle link you provided: