美文网首页
vue+elementUI 中滚动条美化

vue+elementUI 中滚动条美化

作者: 时间走了光 | 来源:发表于2019-06-24 18:44 被阅读0次

    问题描述

    • 目前做的项目是vue+elementUI的PC端项目
    • 原生滚动条真的有点不能直视

    解决过程

    • 测试了easyScroll、vue-happy-scroll,发现前者不兼容IE,后者不能自适应窗口缩放
    • 打开elementUI官网,发现官网本身用了一个滚动条组件,然后检索相关的文章

    解决方案

    1、标签名称

    <el-scrollbar></el-scrollbar>
    

    2、页面引入,这里一定要设置外层元素的宽、高;

    <div class="c-content">
        <div class="c-search-table beauty-Scroll">
            <el-scrollbar>
                     <!-- 需要滚动的内容 -->
            </el-scrollbar>
        </div>
    </div>
    

    .c-search-table用来设置外层元素的宽高,以及其他样式;

    .c-search-table{
       width: 100%;
       height: calc(~"100% - 10px"); /*这里我用了计算属性*/
    }
    

    .beauty-Scroll 用来设置 <el-scrollbar> 组件的覆盖样式,这个样式一定要写到全局样式里面,这样才能生效,后期使用的时候,只需要再父级元素引入即可;

    .beauty-Scroll{
        .el-scrollbar{
            height: 100%; /*此处一定要设置高度,不然内层的计算属性不生效*/
        }
        .el-scrollbar__wrap {
            width: calc(~"100% + 17px"); /*将垂直滚动条挤到可视区域之外*/
            height: calc(~"100% + 17px"); /*将水平滚动条挤到可视区域之外*/
        }
    }
    

    注:
    这里解释一下,因为滚动条是在el-scrollbar__wrap这个元素上的,
    所以把它设置大一点,就可以将这个元素上原始的滚动条遮挡掉了,
    而新生成的滚动条是相对于el-scrollbar的绝对定位,所以这里就只显示好看的那一个啦。

    相关文章

      网友评论

          本文标题:vue+elementUI 中滚动条美化

          本文链接:https://www.haomeiwen.com/subject/euzoqctx.html