`

解决div总是被select遮挡的问题

阅读更多
今天在使用ajax下拉框时发现了一个一问题,就是下拉框会被<select>遮挡,选择框的内容是放在div里的,所以去网上找了一下才知道答案:

原来,只要在div内容后面添加如下代码就可以了

<iframe src="javascript:false" style="position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1; filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';"></iframe>
载自老徐博客
由于select在ie中默认是处于最顶层的, 所以弹出div往往不能遮住select,但是使用iframe的方法,可以遮住select选择控件.
在div前面加ifram标签,如下设置样式<iframe   style="position:absolute;z-index:9;width:expression(this.nextSibling.offsetWidth);height:expression(this.nextSibling.offsetHeight);top:expression(this.nextSibling.offsetTop);left:expression(this.nextSibling.offsetLeft);" frameborder="0" ></iframe>div如下设置属性<div style="z-index:10;position:absolute"></div> 载自:http://my.donews.com/chenyf97/category/web/在IE里,层DIV被下拉框SELECT遮盖,这是IE的bug之一,原因在于select的优先级别比div高。因此无论如何用css属性z-index设置都没用。所以,解决的办法有两种在显示div的时候隐藏所有select 让div里的内容比select的优先级还要高 第一种方法显然比较麻烦,特别是当select比较多且位置不固定的时候,很容易将不该隐藏的也隐藏了。第二钟办法更好一些。常用的优先级比select高的HTML控件有object和iframe,我选用了iframe比较好。原理就是在div种加入一个iframe,然后把需要显示的内容write到iframe的body中。参考代码如下:var oIframe = document.createElement(”<iframe name=\”oIframeFilter\” frameborder=\”0\”></iframe>”) if (oDivFilter.children.length != 0) oDivFilter.removeChild(oDivFilter.children(0)); oDivFilter.appendChild(oIframe); window.frames[oIframe.name].document.write(”<link rel=\”stylesheet\” href=\”/style/css.css\” type=\”text/css\”>”); sBody = “<table><tr><td>哈哈哈哈</td></tr></table>”; window.frames[oIframe.name].document.write(sBody);此外,还需要注意iframe的属性allowTransparency就不能再用了,因为透明就让iframe更高的优先级失效了。



原文地址 http://www.chenjiliang.com/Article/View.aspx?ArticleID=1543&TypeID=30 
分享到:
评论

相关推荐

    解决div总是被select遮挡的问题.rar

    在本案例中,"解决div总是被select遮挡的问题.rar"提供了解决方案,通过引入一个透明的`iframe`来规避这一现象。 首先,我们需要理解Z轴顺序的概念。在CSS中,`z-index`属性用于指定元素在堆叠上下文中的层级。具有...

    最顶层div被flash或者下拉列表遮挡的问题解决

    ### 最顶层div被flash或者下拉列表遮挡的问题解决 在网页设计中,有时会出现顶层的div元素被其他元素如Flash或下拉列表遮挡的情况。这种遮挡问题通常是由于CSS定位属性设置不当造成的,尤其是`z-index`值的设置不...

    解决IE6中 Div层挡不住Select组件

    总之,解决IE6中`div`层无法遮挡`select`组件的问题需要对浏览器兼容性有深入理解,并且可能需要结合多种技术手段,包括CSS、JavaScript和可能的第三方库。在进行此类修复时,应考虑到代码的可维护性和未来可能的...

    div总是被select遮挡的解决方法

    在传统的布局中,为了解决div被select遮挡的问题,可能会将div的内容放入iframe或者object元素中。这样做的好处是iframe或object自身通常能够覆盖页面上的其他元素,包括select。然而,这样做也有其缺点,比如可能会...

    ie6下select遮挡div

    这个插件,可能是名为“bgiframe”的插件(从压缩包子文件的文件名推断),被设计用来解决IE6下select遮挡div的问题。bgiframe插件会在被遮挡的元素上创建一个背景iframe,通过这种方式,即使在select控件存在的情况...

    解决IE6 中select 穿透 div 等层的问题

    这个IFrame可以解决IE6中的z-index问题,使元素能够正确地遮挡住`&lt;select&gt;`。使用bgiframe时,需要引入jQuery库和bgiframe插件,并调用相应的方法将插件应用到目标元素上。 2. 创建透明IFrame:不依赖jQuery的情况...

    解决div总是被select遮挡的问题特效代码

    介绍: 效果演示:麦田圈 只要在层里面加上下面代码就可以了~ iframe src= style=width:800px;height:536px;top:0px;left:0px;position:absolute;visibility:inherit;z-index:-1; frameborder=0/iframe

    layui layer select 选择被遮挡的解决方法

    总的来说,解决layui layer中的select选择被遮挡的问题,主要是通过调整CSS属性,尤其是`overflow`,来允许下拉列表正常显示。在实践中,开发者需要结合具体的项目需求和页面结构,灵活运用这些技巧来优化用户体验。

    解决DIV在IE下被下拉列表select穿透的问题(二)

    标题"解决DIV在IE下被下拉列表select穿透的问题(二)"所提及的,是一个典型的IE浏览器特有的问题。这个问题涉及到HTML中的`&lt;div&gt;`元素和`&lt;select&gt;`下拉列表之间的交互,具体表现为在Internet Explorer(特别是旧版本...

    Div Select挡住的解决办法

    由于`Iframe`在`Div`下方,用户可以通过`Iframe`间接与`Div`进行交互,从而避免了被`Select`遮挡的问题。同时,`Iframe`的透明设置不会影响页面的视觉效果。 代码中的实现如下: ```html &lt;div style="z-index: 10;...

    IE6下div层被select控件遮住的问题解决方法

    总结来说,面对IE6中的`div`层被`select`控件遮住的问题,我们可以利用`iframe`作为遮罩,并通过设置`z-index`和动态调整`iframe`尺寸的方法来解决。虽然这个方法在现代浏览器中可能不再适用,但对于仍然需要支持IE6...

    option挡住div解决方法

    Div下拉菜单被Select挡住的解决办法 下拉菜单 bbbbbbb ccccccc ccccccc ccccccc ccccccc test0 test1 test2 test3 Div被Select挡住,是一个比较常见的问题。 有的朋友通过把div的内容放入iframe或object里来...

    IE6 select z-index无效,遮挡div bug的解决方法

    今天我说说iframe解决的一般方法,已经使用jQuery插件bgiframe解决IE6 select z-index无效,遮挡div的bug。 解决方法之一:Iframe包裹select元素 使用iframe包住select,这样iframe有z-index,只要在div上设置的z-...

    DIV 层 select

    例如,`select` 的边框、背景色或阴影可能被 `div` 层遮挡,或者 `div` 的透明度设置可能影响到 `select` 的可见性。 3. **JavaScript 或 jQuery 事件处理**:如果使用了 JavaScript 或 jQuery 来处理 `div` 层的...

    select网页下拉列表与div层遮盖问题

    在html中关于select元素的问题在很多地方都提出过,而在前段...相关文章:div层被flash层遮盖问题解决思路 第一就是比较有名的:一般div浮层在IE6下无法遮盖select元素的问题。首先提供了下面一个实例: 注解:如果

    ie6 select无法被div遮盖的bug解决方法

    通过以上步骤,我们可以成功地使用`&lt;iframe&gt;`作为遮罩层,解决IE6下`&lt;select&gt;`无法被`&lt;div&gt;`遮盖的问题。值得注意的是,虽然这个方法在IE6中有效,但它并不适用于其他现代浏览器,因为这些浏览器已经修复了这个问题...

Global site tag (gtag.js) - Google Analytics