为DIV添加滚动条,IE7下鼠标拖动正常,但是IE8不能显示全部内容

2024-04-28 00:13

1. 为DIV添加滚动条,IE7下鼠标拖动正常,但是IE8不能显示全部内容

    




正常的呀,没有问题呀!!!!

为DIV添加滚动条,IE7下鼠标拖动正常,但是IE8不能显示全部内容

2. JS滚动代码在IE7中不兼容

这段JS代码可以兼容IE7,script标签写法虽然不符合W3C,不过不是在IE7下不滚动的主要原因。因为你没有把HTML部分和CSS部分贴出来,我只好自己编了一个,估计可能是HTML标签写的不好或是CSS没控制好。
下面是代码:




滚动

#z_gd { width: 150px; height: 30px; overflow: hidden; }





        滚动的文字部分,用来设置滚动的速度,值越大,滚动的速度越慢。
        



var speed2=20;  //speed2=20用来设置滚动的速度,值越大,滚动的速度越慢。

var z_gd2=document.getElementById("z_gd2");//用来生成重复内容的,以实现不间断滚动

var z_gd1=document.getElementById("z_gd1");

var z_gd=document.getElementById("z_gd");//容器

z_gd2.innerHTML=z_gd1.innerHTML;

function Marquee_2(){

if(z_gd2.offsetTop-z_gd.scrollTop<=0)

z_gd.scrollTop-=z_gd1.offsetHeight;

else{

z_gd.scrollTop++;

}

}

var MyMar2=setInterval(Marquee_2,speed2);

z_gd.onmouseover=function() {clearInterval(MyMar2)}

z_gd.onmouseout=function() {MyMar2=setInterval(Marquee_2,speed2)}




----------------------------------------------
#z_gd { width: 150px; height: 30px; overflow: hidden; }这段CSS很重要,height是滚动区域的高度,这里给了30px,overflow要给隐藏的属性,即hidden,这样当这个容器内的内容超过30px才会滚动,这点要注意,如果你把这里改成为样滚动,就不会滚动了。

3. ie6下如何去除html的横向滚动条

当我们在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下出现横向滚动条问题的解决方案》--鱼爱水

ie6下如何去除html的横向滚动条

4. 为DIV添加竖行滚动条,IE7下运行正常,但是IE8用鼠标拖动时,内容不能够全部显示

在ie8   工具   ——internet选项 —— 高级——选择“还原默认设置”

5. div+css在IE8里显示无滚动条 怎么让IE6 IE7里也同样兼容呢?

overflow:hidden;
改为overflow:auto或者overflow:scroll;

hidden通常是不作为滚动条用的 
还有一点,html{overflow:auto;}这个css是不用设定的,因为浏览器默认情况下,超出窗口就会自动出现滚动条;也尽量不要在body上设定滚动条;在body内部的div上设定滚动条就好了

div+css在IE8里显示无滚动条 怎么让IE6 IE7里也同样兼容呢?

6. IE7/8 下自动出现右侧滚动条的宽度

body{margin:0;padding:0;}   或者    *{margin:0;padding:0;};
div{margin:0;padding:0;};

这个写了吗?

7. IE7 横滚动条怎么消除

添加css样式

html {overflow-x:hidden;}

IE7 横滚动条怎么消除

8. html 为什么ie8不能显示上下滚动文字,而ie6、ie7都能正常显示??

检查代码,看你的Marquee命令是否在别的函数定义下。
最新文章
热门文章
推荐阅读