ie6下如何去除html的横向滚动条(怎么去掉下滑线html)
9552023-08-07
大家好,如果您还对ie6下如何去除html的横向滚动条不太了解,没有关系,今天就由本站为大家分享ie6下如何去除html的横向滚动条的知识,包括ie6bug解决办法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
本文目录
当我们在css样式设置为html{overflow-y:auto;}时,在ie7以上版本应用时不会有问题,可是在ie6下就会发现垂直滚动条出现会引起横向滚动条出现。究其原因是在ie6下,当内容过多出现垂直滚动条时,此时页面的宽度为其本来宽度加上滚动条的宽度,导致页面宽度超过100%,而出现横向滚动条,在ie7+浏览器中,会自动的识别滚动条,页面宽度为内容的宽度加上滚动条的宽度等于100%,而不会出现滚动条,这相当于是ie的滚动条bug(纯属个人见解,不对的地方还请指出,共同学习交流)。
解决上述出现的问题有以下几个方案
方案一:添加html{overflow-y:hidden;}样式
这种方案仅仅是把出现的横向滚动条隐藏了,并没有解决根本问题,而且还会出现不想要的效果(横向多余的内容会被隐藏掉),这是一种不好的解决方法。
方案二:添加html{overflow-y:scroll;}
添加这个样式,当页面内容超过页面高度时,会正常的显示垂直滚动条,而且不会出现横向滚动条,看起来是我们要的效果;可是页面内容不足以出现垂直滚动条的时候,我们会发现页面的右边会出现一条置灰样式的滚动条位置,这个看起来并不美观,不是我们想要的效果。不过最起码已经开始接近我们想要的效果了,比起第一种解决方案,他的效果还是好的。
方案三:通过jQuery实现
单纯的css样式已经不能满足我们的需要,通过第二个方案我们可以想到一种比较好的解决方法,我们可以判断当页面高度需要垂直滚动条时,把页面样式设置为overflow-y:scroll;这样是不是就会达到我们想要的效果,事实证明完全是ok的,
$(function(){//解决IE6下页面出现横向滚动条if($.browser.msie&&$.browser.version=="6.0"&&$("html")[0].scrollHeight>$("html").height())$("html").css("overflowY","scroll");})
以上就是对页面出现横向滚动条的解决方法,只是针对我目前遇到的情况,方法肯定还有很多,以后有时间再慢慢补充,,,
(有人说谷歌浏览器有相对应的解决方法,时间有限,没去研究,在此标记下)
转自:博客园《IE6下出现横向滚动条问题的解决方案》--鱼爱水
1.不用修改css什么的,只要把float的模块放到非float的前面即可。上面的html结构重排下序:
右边左边中间
优点:不用写多余的代码。缺点:破坏语意2.绝对定位。优点:不破坏语义。缺点:代码量加大。3.给他们都添加浮动。优点:同上。缺点:会引起其他bug等。4.添加hack。_margin-top:XXXXpx;优点:同上。缺点:使用了hack。不清除浮动的话,浮动层后面的非浮动内容就有可能被浮动层所覆盖,造成版面错乱,所以必须清除浮动。除非浮动层所在的位置是有固定的高度的,也就是说不管是否浮动它所占用的区域都不变,这样就无需清除。比如:
1
2
34
可以看到蓝色框会被红色框覆盖(IE6-9中则不会,因为它不是标准浏览器)。清除浮动以后就不会了:12345或者给浮动层预留位置:1234
关于ie6下如何去除html的横向滚动条,ie6bug解决办法的介绍到此结束,希望对大家有所帮助。