广告位联系
返回顶部
分享到

使用纯CSS实现网页阅读进度条的代码

css 来源:互联网 作者:佚名 发布时间:2023-12-18 21:53:43 人浏览
摘要

为了构建一个阅读进度条,即显示用户向下滚动时阅读文章的进度,很难不考虑 JavaScript。但是,事实证明,您也可以使用纯 CSS 构建阅读进度条。 从本质上讲,一个名为animation-timeli

为了构建一个阅读进度条,即显示用户向下滚动时阅读文章的进度,很难不考虑 JavaScript。但是,事实证明,您也可以使用纯 CSS 构建阅读进度条。

从本质上讲,一个名为 animation-timeline 的新实验性 CSS 属性可以让你指定用于控制 CSS 动画进度的时间轴。我们将用它来创建阅读进度条。

首先,我们需要定义一个用作进度条的 div 元素。我们将使用一个固定在视口顶部的容器来包装这个 div 。这将确保用户向下滚动页面时进度条始终可见。

1

2

3

4

5

6

<div class="progress-bar-container">

    <div class="progress-bar"></div>

</div>

<div class="content">

    <!-- content goes here -->

</div>

接下来,我们将定义进度条的样式。我们将设置 progress-bar-container 固定在视口顶部并调整其背景颜色,该颜色始终对用户可见。我们还将 progress-bar 设置为 100% 宽度。

1

2

3

4

5

6

7

.progress-bar-container {

    position: fixed;

    top: 0px;

    width: 100%;

    background: #6c2fa2;

    z-index: 999;

}

现在,为了使进度条动画化,我们将为 progress-bar 使用不同的背景颜色,并将其高度设置为 7px 。我们还将 animation-name 设置为 width ,这实际上将进度条的宽度从 0 动画到 100%。

最后,我们将 animation-timeline 设置为 scroll(y) ,将动画时间轴绑定到视口的垂直滚动位置。这将确保当用户向下滚动页面时进度条具有动画效果。

1

2

3

4

5

6

7

8

9

10

11

.progress-bar {

    height: 7px;

    background: #e131ff;

    animation-name: width;

    /* animation timeline is tied to vertical scroll position */

    animation-timeline: scroll(y);

}

@keyframes width {

    from { width: 0 }

    to   { width: 100% }

}

就是这样!您可以在下面看到它的实际效果。

由于 animation-timeline 属性仍处于实验阶段,因此并非所有浏览器(准确地说是 Firefox 和 Safari)都支持它。

您可以检查浏览器的兼容性并据此使用。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计