2009年12月3日星期四

[note]隐藏滚动栏(scrollBar)二三事

问题一:如何隐藏滚动栏?

1、完全隐藏
在<boby>里加入scroll="no",可隐藏滚动条;

<boby scroll="no">


2、在不需要时隐藏
指当浏览器窗口宽度或高度大于页面的宽或高时,不显示滚动条;反之,则显示;

<boby scroll="auto">

3、样式表方法
在<boby>里加入style="overflow-x:hidden",可隐藏水平滚动条;加入style="overflow-y:hidden",可隐藏垂直滚动条。
这种方法在页面头部为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">这种兼容模式下是不行的,其它的没试过,最后终于找到了正确的方法:
被包含页面里加入

<style>
html { overflow-x:hidden; }
</style>

有一段解释是这样说的:body{ overflow-x:hidden; }在标准 DTD 下是不可以的。

4、另一种方法

<style type="text/css">
body {
overflow-x:hidden; /*隐藏水平滚动条*/
overflow-y:hidden; /*隐藏水平滚动条*/
}
</style>

此方法在页面头部为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">这种兼容模式下也是不行的。

<style type="text/css">
html {
overflow-x:hidden; /*隐藏水平滚动条*/
overflow-y:hidden; /*隐藏水平滚动条*/
}
</style>

问题二:如何使firefox始终显示滚动条?
firefox在页面高度小于一个屏幕的高度时,是不会显示滚动条的。但是在某些特殊情况下,我们需要这个滚动条。在网上找了些方法:

html {
    overflow:-moz-scrollbars-vertical;
}
以上方法使用firefox私有属性,但在firefox 3.5之下无法使用

body, html {
    min-height:101%;
}
以上方法一切正常,且支持多浏览器

没有评论: