最近的项目中,遇到ie6下当iframe出现纵向滚动条时同时会出现横向滚动条。分析了代码,大致的原因是iframe中的页面有相对
body的样式包含width:100%的元素。情况如下:(PS:红框表示iframe的区域,灰色的长方框表示上面提到的width:100%的元
素,需要在IE6下看效果。)
当灰色的框的高度大于iframe的高度时出现纵横向滚动条(IE6下)。
当灰色的框的高度小于iframe的高度时效果正常。
解决方案一:给内页加上样式:html { overflow-y: scroll; }
当灰色的框的高度大于iframe的高度时仅出现纵向滚动条,效果正确。
当灰色的框的高度小于iframe的高度时纵向滚动条仍然显示(不可用状态),有瑕疵。
解决方案二:给内页加上样式:html { overflow-x: hidden; overflow-y: auto; }
当灰色的框的高度大于iframe的高度时仅出现纵向滚动条,但右边内容显示不完全(PS:里面文字内容是“这是个高为200px的div”),效果不正确。
当灰色的框的高度小于iframe的高度时没有滚动条出现,效果正确。
解决方案三:经过了多次尝试仍然没有发现纯css的完美解决方案,而我们追求的是最完美的效果。既然纯css解决不
了,我们只好搬出js来了,通过前面的测试我们发现灰色框高度小于iframe的高度时不需要做任何处理效果正确,而灰色框高度大于iframe的高度时
方案一是完美的。于是,我们的js有如下思路:当浏览器为IE6且内容高度比iframe高时给html标签加入方案一的样式。下面是jQuery的代
码:(不用jQuery的话思路一样。)
$(function(){
if($.browser.msie&&$.browser.version=="6.0"&&$("html")[0].scrollHeight>$("html").height())
$("html").css("overflowY","scroll");});
当灰色的框的高度大于iframe的高度时仅出现纵向滚动条,效果正确。
当灰色的框的高度小于iframe的高度时效果正确。
分享到:
相关推荐
为了避免在`iframe`内部出现滚动条,可以在`iframe`标签中设置`scrolling`属性为`no`,这将禁止内部滚动条的显示。 ```html <iframe name="read_iframe" align="center" scrolling="no" width="100%" onload="set...
默认情况下,iframe具有自己的滚动条,当内容超出其可见区域时,内部的滚动条会自动出现。这种独立滚动行为是由`<iframe>`元素的`scrolling`属性决定的,该属性有三个可选值: - `auto`:浏览器自动决定是否显示...
在介绍JS去除iframe滚动条的方法之前,首先需要理解iframe元素在HTML中的作用。iframe元素代表了一个嵌入的网页,允许在一个HTML页面中嵌入另一个文档,这在多种场景下非常有用,比如页面中嵌入第三方应用的界面等。...
解决这个问题可以通过多种方法,包括在iFrame标签中添加滚动条样式、使用CSS样式来控制滚动条的显示或隐藏、在iFrame的父页面和子页面中添加DOCTYPE声明等。 在使用iFrame时,滚动条的显示或隐藏问题是很常见的。...
### 完全搞定iframe(框架)里的滚动条 #### 知识点概览 ...通过对不同场景下iframe滚动条问题的理解以及采用合理的CSS或JavaScript技术,可以有效地解决在A页面中加载B页面时出现的滚动条问题,提升用户体验。
### 在iframe中隐藏横向滚动条的方法大全 #### 概述 在网页开发中,经常会用到`<iframe>`标签来嵌入其他页面或内容。然而,有时候这些嵌入的内容可能会导致横向滚动条出现,影响用户体验及整体美观度。本文将详细...
iframe水平滚动条定位右侧及其样式的基本设置
在开发中经常遇到去掉全部的滚动条,去掉右边的滚动条且保留底下的滚动条,去掉底下的滚动条且保留右边的滚动条,大家基于js是怎么实现的呢?下面通过本文给大家介绍下JavaScript中关于iframe滚动条的去除和保留的...
在这个问题中,我们关注的是如何在layer弹出层中的iframe层去除滚动条,以保持页面的整洁和用户体验。 首先,让我们深入理解一下涉及到的几个概念: 1. **layer**:Layer是基于jQuery的一个轻量级的弹窗插件,提供...
"让DIV固定在页面的某个位置而不随着滚动条随意滚动" 在前端开发中,我们常常需要让某个DIV元素固定在页面的某个位置,而不随着滚动条的滚动而移动。这可以通过使用CSS的position属性来实现,特别是使用fixed值。...
"解决JS跨域访问IFrame的解决方案"这一主题关注的就是如何克服这个限制,使得在JSP页面中嵌入的跨域IFrame能够正常通信。下面我们将详细探讨这个问题以及可能的解决方案。 首先,理解同源策略是关键。同源策略是...
但是iframe用起来,真的是让人头痛,高度无法控制,难看的滚动条等等,下面我分享一下自己在处理iframe时的一些心得。 高度自适应 <iframe src=...
设置scrolling参数为“no”可以消除IFRAME滚动条,这在某些布局中可以避免滚动条导致的遮挡问题。最后,通过调整IFRAME的height和width属性可以确定IFRAME的尺寸,适当调整这些尺寸也可以解决部分遮挡问题。 总结...
iframe内部html的滚动条不出现。并且活生生的从500px处截断,(类似overflow:hidden的效果)下面的内容不再显示。 问题重现: 结构: index.html : <style> #iframe{height:500px;} </style> ...
"iFrame高度自适应终极解决方案(兼容IE7,8,9 Firefox3.6+,Chrome 12+)"这个标题所指向的,就是一种跨浏览器的策略,确保iFrame内容无论何时更新,都能自动调整其高度,从而避免滚动条的出现和内容溢出。...
在IE6浏览器中,由于其独特的布局模型,经常会出现Select元素覆盖Div元素的情况,这个问题让很多前端开发者头疼。本文将详细解析这个问题的原因,并提供多种有效的解决办法。 首先,我们需要了解问题的根本原因。在...
然而,有时候我们希望即使在iframe高度或宽度小于内容尺寸时,滚动条也不会出现在浏览器窗口中,而是只出现在iframe内部,以便用户可以在iframe的视窗内滚动内容。 要实现这个效果,我们需要处理几个关键点: 1. ...
综上所述,`iframe`跨域解决方案主要包括`postMessage`通信、`window.name`数据传递以及`CORS`策略。在实际应用中,开发者应根据具体需求和安全考虑,选择合适的跨域策略。同时,需要注意的是,虽然这些方法能突破...