加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

CSS实现无滚动条滚动咋做,代码怎么写

发布时间:2023-09-25 15:23:14 所属栏目:语言 来源:
导读:我们都知道,撸页面的时候当我们的内容超出了我们的div,往往会出现滚动条,影响美观。

尤其是当我们在做一些导航菜单的时候。滚动条一出现就破坏了UI效果。 我们不希望出现滚动条,也不希望超出去的内容被放逐,
我们都知道,撸页面的时候当我们的内容超出了我们的div,往往会出现滚动条,影响美观。
 
尤其是当我们在做一些导航菜单的时候。滚动条一出现就破坏了UI效果。 我们不希望出现滚动条,也不希望超出去的内容被放逐,就要保留鼠标滚动的效果。我们都知道overflow:hidden是可以隐藏滚动条的,但存在的问题是:页面或元素失去了滚动的特性,进而溢出内容也变得不可见,这样肯定是不可取的。百度下大部分都是在说overflow:hidden或者overflow-y: no可以解决问题,但是并不能很好的解决我们的问题,那么怎么办呢?
 
接下来小萌介绍几种简单的方法,但是也不是完美的解决问题了,各求所需吧
 
第一种:伪对象选择器
 
在webkit内核的浏览器里可以定义滚动条样式。在CSS初始处定义
 
 ::-webkit-scrollbar{
 
 display:none;(或者是width: 0;)
 
 }
 
不过目前本方法只在webkit内核浏览器中有效(Chrome,Safari)。
 
第二种:变相隐藏
 
大体思路是在div外面再套一个div。这个div设置overflow:hidden。而内容div设置 overflow-x: hidden;overflow-y: scroll;然后再设置外层div的width小于内容div的width,就是用一个无滚动条的div包裹另一个有滚动条的div,从而实现隐藏滚动条的效果。

例子:
 
<!DOCTYPE html>
 
<html>
 
    <head>
 
        <title>使用CSS实现无滚动条滚动</title>
 
        <meta charset="UTF-8">
 
        <style type="text/css">
 
            body,html {
 
                margin: 0;
 
                padding: 0;
 
                height: 100%;
 
                overflow: hidden;
 
            }
 
            ul,li {
 
                margin: 0;
 
                padding: 0;
 
                list-style: none;
 
            }
 
            .box_wrap {
 
                margin: 20px auto;
 
                width: 200px;
 
                height: 400px;
 
                border: 1px solid #ccc;
 
                overflow: hidden;
 
            }
 
            .box_wrap ul  {
 
                width: 220px;/* 多出20像素是滚动条的位置,会被父容器盖住就看不到了 */
 
                height: 100%;
 
                overflow-x: hidden;
 
                overflow-y: auto;
 
            }
 
            .box_wrap ul li {
 
                width: 200px;
 
                height: 40px;
 
                line-height: 40px;
 
                border-bottom: 1px solid #ccc;
 
                font-size: 12px;
 
                text-align: center;
 
            }
 
        </style>
 
    </head>
 
    <body>
 
        <div class="box_wrap">
 
            <ul>
 
                <li>测试数据1</li>
 
                <li>测试数据2</li>
 
                <li>测试数据3</li>
 
                <li>测试数据4</li>
 
                <li>测试数据5</li>
 
                <li>测试数据6</li>
 
                <li>测试数据7</li>
 
                <li>测试数据8</li>
 
                <li>测试数据9</li>
 
                <li>测试数据10</li>
 
                <li>测试数据11</li>
 
                <li>测试数据12</li>
 
                <li>测试数据13</li>
 
                <li>测试数据14</li>
 
                <li>测试数据15</li>
 
                <li>测试数据16</li>
 
                <li>测试数据17</li>
 
                <li>测试数据18</li>
 
                <li>测试数据19</li>
 
                <li>测试数据20</li>
 
                <li>测试数据21</li>
 
                <li>测试数据22</li>
 
                <li>测试数据23</li>
 
                <li>测试数据24</li>
 
                <li>测试数据25</li>
 
                <li>测试数据26</li>
 
                <li>测试数据27</li>
 
                <li>测试数据28</li>
 
                <li>测试数据29</li>
 
                <li>测试数据30</li>
 
            </ul>
 
        </div>
 
    </body>
 
</html>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章