当前位置: 首页 > 图文教程 > 网页制作 > 心得技巧 > iframe在IE6下出现横向滚动条的解决方案

心得技巧
设计作品参考:有创意的美观大方的简历设计
产品设计:产品三要素三角模型
手机移动平台的UI界面设计:减少空间占用
B2C网站产品设计实例:简单的广告设计
设计理论:杂志的目录设计
用户体验设计:良好的站内搜索设计指导
设计作品参考:很具想象力的标志LOGO设计
用户体验:简单的用户研究的分析和总结
WEBJX收集11个优秀的在线表单服务网站
邮件设计与网页设计的巨大差别
优秀的交互设计应该是最愉悦的满足用户的需求
谈新版豆瓣首页交互设计:复杂网站的标签系统
GOOGLE用户体验设计师谈Google的十大设计原则
腾讯QQ产品经理谈互联网产品经理的素质
网页设计参考:50个激发你设计灵感的网站实例
WEBJX收集27个流行且别致的网站header设计实例
50个鼓舞人心的设计惊艳的iphone应用网站
淘宝网系统的前端安全规范
混乱的URL编码
WEBJX收集10个非常不错的旅游行业网站设计

心得技巧 中的 iframe在IE6下出现横向滚动条的解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 130 ::
收藏到网摘: n/a

情况如下:(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的高度时效果正确。
学会开心每一天(: