首页 > 代码库 > frame去掉横向滚动条【转】
frame去掉横向滚动条【转】
如题,就是在网页中,只显示右侧的垂直滚动条,而不要底部的水平滚动条;这个问题让我挠头了半天。
做的那个管理界面,为了能让菜单在整个窗口中显示,我没有用Frame,而是用了iFrame;为了让iFrame窗口适用大小,我也用JavaScript代码做了判断;
插入iFrame的代码如下(我没有设宽高,宽高有Js代码控制的,这里不再描述)
<iframe src="http://www.mamicode.com/welcome.html" name="workArea" align="middle" marginwidth="0" marginheight="0" allowtransparency="true" application="true" id="workArea" scrolling="auto"></iframe>
滚动条设了自动auto,当页面内容多时,会自动出现滚动条;
预想效果是出现了,但是不仅出了右侧的竖滚动条,下面左右滚动的横滚动也出现了,调整内容宽度,也一样;郁闷;虽然不影响大碍,但是觉得太不爽了。
看网上有人说,设置body的css样式;
<style type="text/css">
body {
overflow-x : hidden ;
}
</style>
试过之后,发现不行,有的说是IE不支持,我看可能是我的页网是xhtml的问题吧,如果去掉了头部的DTD;就是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
不过我不想这样;因为我所有的网页都是基于W3C标准的,我并不希望因为这个小功能而去改动代码规范;
又试了其它几个办法,也是不行;不管怎么设置,内容一多,就出现横滚动条;
通过测试,得到方法一:
想到设置body宽度的做法,在iFrame包含的页面内中写入,如下
body {
width: 95%;
margin: 0px;
padding: 0px;
}
通过css来控制宽度,我没有设100%,默认是100%;而是设了95%;这样因为整体页面的宽度小于100%,所以就不再出现横滚动条了,而竖滚动条依然起作用;
后又经人介绍,得到方法二:
在iFrame的包含页面里加入
<style>
html { overflow-x:hidden; }
</style>
两种方法都可以搞定