文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用纯CSS实现滚动进度条效果

2023-06-14 19:22

关注

这篇文章将为大家详细讲解有关如何使用纯CSS实现滚动进度条效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

什么是css

css是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,使网页更加美化。它也是一种定义样式结构如字体、颜色、位置等的语言,并且css样式可以直接存储于HTML网页或者单独的样式单文件中,而样式规则的优先级由css根据这个层次结构决定,从而实现级联效果,发展至今,css不仅能装饰网页,也可以配合各种脚本对于网页进行格式化。

如何使用 CSS 实现下述滚动条效果?

如何使用纯CSS实现滚动进度条效果

就是顶部黄色的滚动进度条,随着页面的滚动进度而变化长短。

分析需求

第一眼看到这个效果,感觉这个跟随滚动动画,仅靠 CSS 是不可能完成的,因为这里涉及了页面滚动距离的计算。

如果想只用 CSS 实现,只能另辟蹊径,使用一些讨巧的方法。

好,下面就借助一些奇技淫巧,使用 CSS 一步一步完成这个效果。分析一下难点:

正常分析应该是这样的,但是这就陷入了传统的思维。进度条就只是进度条,接收页面滚动距离,改变宽度。如果页面滚动和进度条是一个整体呢?

实现需求

不卖关子了,下面我们运用线性渐变来实现这个功能。

假设我们的页面被包裹在 <body> 中,可以滚动的是整个 body,给它添加这样一个从左下到到右上角的线性渐变:

body {    background-image: linear-gradient(to right top, #ffcc00 50%, #eee 50%);    background-repeat: no-repeat;}

那么,我们可以得到一个这样的效果:

如何使用纯CSS实现滚动进度条效果

Wow,黄色块的颜色变化其实已经很能表达整体的进度了。其实到这里,聪明的同学应该已经知道下面该怎么做了。

我们运用一个伪元素,把多出来的部分遮住:

body::after {    content: "";    position: fixed;    top: 5px;    left: 0;    bottom: 0;    right: 0;    background: #fff;    z-index: -1;}

为了方便演示,我把上面白色底改成了黑色透明底,:

如何使用纯CSS实现滚动进度条效果

实际效果达成了这样:

如何使用纯CSS实现滚动进度条效果

眼尖的同学可能会发现,这样之后,滑到底的时候,进度条并没有到底:

如何使用纯CSS实现滚动进度条效果

究其原因,是因为 body 的线性渐变高度设置了整个 body 的大小,我们调整一下渐变的高度:

body {    background-image: linear-gradient(to right top, #ffcc00 50%, #eee 50%);    background-size: 100% calc(100% - 100vh + 5px);    background-repeat: no-repeat;}

这里使用了 calc 进行了运算,减去了 100vh,也就是减去一个屏幕的高度,这样渐变刚好在滑动到底部的时候与右上角贴合。

+ 5px 则是滚动进度条的高度,预留出 5px 的高度。再看看效果,完美:

如何使用纯CSS实现滚动进度条效果

关于“如何使用纯CSS实现滚动进度条效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯