美文网首页
纯css实现移动端横向滚动效果

纯css实现移动端横向滚动效果

作者: ada_e172 | 来源:发表于2021-03-05 10:58 被阅读0次

    最终效果


    录制_2021_03_05_10_54_03_571.gif

    这种效果在移动端挺常见的,实现也不复杂。不需要js,纯css就可以实现。

    这种横排布局,内容超过屏幕宽度后,会出现滚动条,就像下面的图片展示的效果。

    录制_2021_03_08_10_00_33_852.gif

    我们可以使用css3的::-webkit-scrollbar,把元素的滚动条宽度设为0,是width,不是height哦,就实现了我们想要的效果。

    录制_2021_03_08_10_07_55_850.gif

    ::-webkit-scrollbar仅仅支持WebKit内核的浏览器(如谷歌,苹果Safari)。它可以改变默认滚动条的样式,有兴趣的同学可以试下。

    语法:
    ::-webkit-scrollbar — 整个滚动条.
    ::-webkit-scrollbar-button — 滚动条上的按钮 (上下箭头).
    ::-webkit-scrollbar-thumb — 滚动条上的滚动滑块.
    ::-webkit-scrollbar-track — 滚动条轨道.
    ::-webkit-scrollbar-track-piece — 滚动条没有滑块的轨道部分.
    ::-webkit-scrollbar-corner — 当同时有垂直滚动条和水平滚动条时交汇的部分.
    ::-webkit-resizer — 某些元素的corner部分的部分样式(例:textarea的可拖动按钮).

    下面的是完整的项目代码。

    html

    <section>
            <ul class="book-type-wrapper">
                <li class="item">
                    <label class="item-name">分类一</label>
                    <ul class="sub-list">
                        <li class="sub-item active">全部</li>
                        <li class="sub-item">子类一</li>
                        <li class="sub-item">子类二</li>
                        <li class="sub-item">子类三</li>
                        <li class="sub-item">子类四</li>
                        <li class="sub-item">子类五</li>
                        <li class="sub-item">子类六</li>
                        <li class="sub-item">子类七</li>
                    </ul>
                </li>
                <li class="item">
                    <label class="item-name">分类二</label>
                    <ul class="sub-list">
                        <li class="sub-item active">全部</li>
                        <li class="sub-item">子类一</li>
                        <li class="sub-item">子类二</li>
                        <li class="sub-item">子类三</li>
                        <li class="sub-item">子类四</li>
                        <li class="sub-item">子类五</li>
                        <li class="sub-item">子类六</li>
                        <li class="sub-item">子类七</li>
                    </ul>
                </li>
                <li class="item">
                    <label class="item-name">分类三</label>
                    <ul class="sub-list">
                        <li class="sub-item active">全部</li>
                        <li class="sub-item">子类一</li>
                        <li class="sub-item">子类二</li>
                        <li class="sub-item">子类三</li>
                        <li class="sub-item">子类四</li>
                        <li class="sub-item">子类五</li>
                        <li class="sub-item">子类六</li>
                        <li class="sub-item">子类七</li>
                    </ul>
                </li>
            </ul>
            <div class="img-list-wrapper">
                <ul class="img-list">
                    <li class="item">
                        <img src="./imgs/bg-index-middle-1.jpg" alt="">
                        <div class="name">name</div>
                    </li>
                    <li class="item">
                        <img src="./imgs/bg-index-middle-2.jpg" alt="">
                        <div class="name">name</div>
                    </li>
                    <li class="item">
                        <img src="./imgs/bg-index-middle-3.jpg" alt="">
                        <div class="name">name</div>
                    </li>
                    <li class="item">
                        <img src="./imgs/bg-index-middle-4.jpg" alt="">
                        <div class="name">name</div>
                    </li>
                </ul>
            </div>
        </section>
    

    css

    .book-type-wrapper {
            width: 100%;
            font-size: 13px;
            padding: 15px;
            margin: 0;
            background: white;
            display: block;
            box-sizing: border-box;
    
            .item {
                display: -webkit-box;
                -webkit-box-orient: horizontal;
                margin-bottom: 10px;
    
                .item-name {
                    color: #999;
                }
    
                .sub-list {
                    -webkit-box-flex: 1;
                    overflow-x: scroll;
                    white-space: nowrap;
                    vertical-align: middle;
                    height: 20px;
                    margin: 0 0 0 5%;
                    padding: 0;
    
                    &::-webkit-scrollbar {
                        height: 0;
                        width: 0
                    }
    
                    .sub-item {
                        display: inline-block;
                        height: 18px;
                        line-height: 18px;
                        padding: 0 10px;
    
                        &.active {
                            background: #f0f0f0;
                            color: green;
                            border-radius: 20px;
                        }
                    }
                }
            }
        }
    
        .img-list-wrapper {
            width: 100%;
            overflow-x: scroll;
            margin-top: 20px;
            padding: 0 20px;
    
            &::-webkit-scrollbar {
                width: 0
            }
    
            .img-list {
                padding: 0;
                margin: 0;
                display: block;
                width: 600px;
    
                .item {
                    display: inline-block;
    
                    &:not(:first-child) {
                        margin-left: 20px;
                    }
    
                    img {
                        width: 120px;
                        height: 100px;
                        display: block;
                        border-radius: 10px;
                    }
    
                    .name {
                        width: 100px;
                        text-align: center;
                        color: #646464;
                        font-size: 14px;
                        margin-top: 10px
                    }
                }
            }
        }
    
    动动小手,给我点个赞吧.png

    相关文章

      网友评论

          本文标题:纯css实现移动端横向滚动效果

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