css如何隐藏div滚动条却又能实现滚动功能?

很多时候我们为了美观不想出现滚动条,但是又要保留随着鼠标滚动而滚动的功能。
下面我来谈谈该如何做

原理如下: 可以用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出现滚动条了

运行结果如下图所示:
image.png
设置外面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,并且出现了滚动条了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值