美文网首页
用position: sticky做一个简单的横向进度条

用position: sticky做一个简单的横向进度条

作者: 开心的唱歌 | 来源:发表于2020-11-18 23:04 被阅读0次

概述

首先横向的进度条在web页面随处可见,比如我们最爱阅读的阮一峰的《es6标准入门》。


1605708073(1).jpg

这样一个简单的进度条,应该怎么处理了?

html代码演示

 <div class="box" id='first'>
        <div id='box1'></div>
        <div style="margin-top:-5px;">
 这里的内容足够多撑起整个盒子
</div>

css代码演示

 <style>
        * {
            margin: 0;
            padding: 0;
        }
        .box {
            margin:0px auto 0 auto;
            height: 100vh;
            overflow-y: auto;
            width: 50%;
        }
        #box1 {
            width: 0;
            position: sticky;
            top: 0;
            height: 5px;
            background: red;
        }
    </style>

position: sticky 这个属性特别值得注意,这是css3关于定位的一个新属性,粘性布局。简单解释就是没滚动,和relative是一个效果,滚动了和fixed是一个效果。但是必须设置,top,left,bottm,right其中的一个值。

js代码演示

  window.onload = function () {
            let obody=document.getElementsByTagName('body')[0]

            let obox = document.getElementById('first')
            console.log(obox.clientHeight,obox.scrollHeight,obody.clientHeight,'333')
            let oheight = obox.scrollHeight
                let aheight = obox.clientHeight
                let allheight=(+oheight)-(+aheight)
                let xbox=document.getElementById('box1')
            obox.addEventListener("scroll", () => {
                console.log(obox.scrollTop/allheight)
                xbox.style.width=(obox.scrollTop/allheight)*100+'%'     
            })
        }

结尾

这样一个简简单单的进度条就有了,其实列如吸顶效果也可以用。但是目前兼容性还存在一定问题。最后看下效果。


滚动.gif

相关文章

  • 用position: sticky做一个简单的横向进度条

    概述 首先横向的进度条在web页面随处可见,比如我们最爱阅读的阮一峰的《es6标准入门》。 这样一个简单的进度条,...

  • position:sticky和display:grid

    position:sticky 首先介绍一下position:sticky。positin:sticky是一个新的...

  • IOS的那些定位

    position: sticky; position属性中最有意思的就是sticky了,设置了sticky的元素,...

  • position:sticky

    杀了个回马枪,还是说说position:sticky吧 1. position:sticky简介 单词sticky...

  • 网页布局之粘性布局

    position: -webkit-sticky; position: sticky; top:0; 只需要在CS...

  • css粘性定位position: sticky

    css粘性定位position:sticky问题采坑position: sticky 详解(防坑指南)CSS中po...

  • 粘性定位

    粘性定位 position:sticky 一个定位的奇葩, 设置position:sticky同时给一个(t...

  • weex 踩坑

    1. 用weex实现页面跳转? 1.1 使用vue-router position: fixed/sticky 的...

  • 简单页面吸顶效果

    .tab-control{ position:sticky;sticky方法 top:44px; 停留地址 }

  • position:sticky

    粘性定位 粘性定位是相对定位和固定定位的混合。元素在跨越特定阈值前为相对定位,之后为固定定位。 当窗口滚动到元素 ...

网友评论

      本文标题:用position: sticky做一个简单的横向进度条

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