很多时候我们为了美观不想出现滚动条,但是又要保留随着鼠标滚动而滚动的功能。
下面我来谈谈该如何做
原理如下: 可以用padding等,把滚动条挤出到外面去,达到隐藏的效果。
具体操作:
在当前div的外面在嵌套一个div,外面div设置隐藏滚动条,里面的div宽度小于外面n像素,右内边距设置成n像素,然后在设置显示竖直滚动条
先给大家看一个简单的有滚动条的html界面:
代码如下:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div style="border:1px blue solid;width:500px;height:500px;">
<div style="border:1px red solid;width:485px;height:100%;overflow-y:scroll;">
<script>
for(var i=0;i<200;i++) {
document.write("<p align='center'>hello</p>")
}
</script>
</div>
</div>
</body>
</html>
代码很简单,我用一个for循环在div中生成了200条段落,
然后div又设置了固定的高宽,这样所有的段落超过了这个高宽,自然就会让div出现滚动条了
运行结果如下图所示:
设置外面div设置隐藏滚动条,里面的div宽度小于外面n像素,右内边距设置成n像素,然后在设置显示竖直滚动条
代码如下:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div style="border:1px blue solid;width:500px;height:500px;overflow:hidden;">
<div style="border:1px red solid;width:485px;height:100%;overflow-y:scroll;overflow-x:hidden;padding-
right:50px;">
<script>
for(var i=0;i<200;i++)
{
document.write("<p align='center'>hello</p>")
}
</script>
</div>
</div>
</body>
</html>
运行效果
然后我再去掉里面的红色边框,然后这样看起来是不只有一个div,并且出现了滚动条了?