IE6去除iframe滚动条

    在页面上引用frame或者iframe,在IE6浏览器下,可能出现横向滚动条,如果使用scroling="no",会消除纵向的滚动条。
好,那也有可能在body标签或css里面定义overflow-x: hidden; overflow-y: auto;这两个参数,但是仍旧那讨厌的横向滚动条还在。
    这是为什么呢?原来,在用IE6浏览有框架的XHTML页面的时候,默认会水平和垂直滚动条会一起出现,这是IE6的一个漏洞,你在Firefox上浏览你的网站是正常的,而IE6对XHTML 1.0 Transitional DOCTYPE的解释缺陷.


方法1:
html{overflow-y:scroll;}
原理:强制显示ie的垂直滚动条,而忽略水平滚动条
优点:完全解决了这个问题, 允许你保持完整的XHTML doctype.
缺点:即使页面不需要垂直滚动条的时候也会出现垂直滚动条。


方法2:
html{overflow-x:hidden;overflow-y:auto;}
原理:隐藏横向滚动,垂直滚动根据内容自适应
优点:在视觉上解决了这个问题.在不必要的时候, 未强制垂直滚动条出现.
缺点:只是隐藏了水平滚动条,如果页面真正需要水平滚动条的时候,屏幕以外的内容会因为用户无法水平滚动,而看不到。


方法3:
body{margin-right:-15px;margin-bottom:-15px;}
原理:这会在margin的水平和垂直方向上添加一个负值, IE添加了该精确数值后, 便会去除对滚动条的需求假象.
优点:在视觉上解决了这个问题,垂直滚动根据内容自适应
缺点:由于"人为创建"了15px的外边距(margin), 所以无法使用该填充过的屏幕区域.


在设置Frame时,有一属性是scrolling="yes/no/auto",IE6的Mozilla都支持。但很显然地,IE的开发人员在这个地方懒了一下,他们对auto的理解很不人性化。
auto的意思是自动,就是要的时候有,不要的时候没有。但如果设成auto,则在网页过长需要出竖起滚动条时,IE会自动地把水平滚动条也显示出来,哪怕网页完全不超宽。
而设成yes时,IE则会一直出竖直滚动条,而不随便出水平条,这差不多是对的。
所以如果要用Frame的话,还是要把这个属性设成Yes,这完全是为迁就IE。Mozilla则在任何时候都是对的。
最好设置成这:scrolling=”yes“
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值