IE6,7默认显示垂直滚动条

 

IE6,7默认显示垂直滚动条

IE6,7默认显示垂直滚动条,IE8不显示垂直滚动条

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
body{ margin:0px;}
*{ margin:0px; padding:0px;}
#center{
margin:0px auto;
width:400px;
height:200px;
line-height:200px;
background:#f00;
text-align:center;
}
</style>
</head>

<body>

<div id="center"><p>test content</p></div>

</body>
</html>
显示结果
这样造成的结果就是同时测IE6 7 8时会出现跳一下

搜狗浏览器用的是IE和webkit双内核,但在IE内核下(系统装IE8浏览器),确也显示了垂直滚动条,是个很讨厌的事情,加了html {overflow:auto;}之后,垂直滚动条也去掉了

去掉IE6 7垂直滚动条的方法:
在样式中添加html {overflow:auto;}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
html {overflow:auto;}
body{ margin:0px;}
*{ margin:0px; padding:0px;}
#center{
margin:0px auto;
width:400px;
height:200px;
line-height:200px;
background:#f00;
text-align:center;
}
</style>
</head>

<body>

<div id="center"><p>test content</p></div>

</body>
</html>
添加html {overflow:auto;}以后,垂直滚动条就去掉了

以前说的方法如下:
<body scroll="no"> 这个方法是不标准的.  body里没有这个属性.
正确方法: 
               这个可以去掉IE6,7的滚动
               html {
                   overflow:auto;
                }
               
               这个可去掉IE5.5的滚动
               body {
                    overflow:auto;
               }

现在是去掉IE6的:

正确方法: 
               
               html {
                   overflow:auto; 
                   _overflow-x:hidden;
                }
               
               body {
                    overflow:auto;
                    _margin-left:-8px; 
               }


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

我从中找到了一下三种不仅解决了这个问题,而且你的页面用XHTML 1.0 Transitional 声明也没问题的方法。


方法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), 所以无法使用该填充过的屏幕区域
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值