css3 如何实现进度条效果

css3 如何实现进度条效果

项目过程中,开始使用了js的requestAnimationFrame方法实现进度条,但是在数据超级多的时候非常影响性能,如此改用css去实现,优化。

先贴代码:

nbsp;html>                Document            *{margin: 0;padding: 0}         .box{width: 100px;height: 10px;border-radius: 10px;background: #999;margin: 100px auto;border: 1px solid #ff6780;}        .child{position: relative;height:100%;border-radius:inherit;}         .process-animate{background: #ff6780;position: absolute;left: 0;top: 0;bottom: 0;border-radius:inherit;            animation: process 1s linear forwards ;        }        @keyframes process        {            0%{                left:0;right:100%;            }            20%{                right:80%            }            40%{                right:60%;            }            60%{right:40%;}            80%{right:20%;}            100%{right:0;}        }        

        

 // child的百分比就是进度条的占比效果            

            

登录后复制

效果图(复制代码可查看动态效果):

css3 如何实现进度条效果

 正常情况下,百分比肯定是根据后台数据进行计算得出的,所以是动态传入的,下面贴vue代码

立即学习“前端免费学习笔记(深入)”;

进度条子组件(progress.vue):

  

    

      

       export default { props: { addGray: { //置灰 type: Boolean, default: false }, progressWidth: { //进度条百分比 type: Number, default: 0 } }, mounted() { this.$nextTick(() => { console.log(this.addGray, "addGray---"); this.$refs.processChild.style.width = this.progressWidth + "%"; //动态改变进度条 // this.$refs.processChild.style.width = 90 + "%"; 测试效果 }); }}; .process-wrapper { width: 1.98rem; height: 0.13rem; margin: 0.12rem 0 0.1rem 0; border-radius: 0.1rem; background: #fff; border: 0.01rem solid #ff6780; &.addGray { background: #999; border: 0.01rem solid #999; } .process-child { position: relative; height: 100%; // width: 100%; //这个width就是动态变化。通过js改变 border-radius: inherit; .process-animate { background: #ff6780; position: absolute; left: 0; top: 0; bottom: 0; border-radius: inherit; animation: process 1s linear forwards; &.addGray { background: #999 !important; // border: 0.01rem solid #999; } } }} @keyframes process { 0% { left: 0; right: 100%; } 20% { right: 80%; } 40% { right: 60%; } 60% { right: 40%; } 80% { right: 20%; } 100% { right: 0; }}

登录后复制

父组件调用:

 

登录后复制

看看实际效果:

css3 如何实现进度条效果

推荐教程:《CSS教程》

以上就是css3 如何实现进度条效果的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2885562.html

(0)
上一篇 2025年3月10日 20:41:08
下一篇 2025年3月8日 22:59:40

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css3新增伪类有哪些

    css3新增伪类有:1、【p:first-of-type】;2、【p:last-of-type】;3、【p:only-of-type】;4、【p:only-child】;5、【p:nth-child(2)】。 (推荐教程:css快速入门) …

    2025年3月10日
    200
  • css3如何画出小黄人并实现动画效果?(代码示例)

    css3如何画出小黄人?下面本篇文章给大家介绍一下使用css画出小黄人并实现动画效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 首先来看看效果图(小黄人动画) 怎么样?虽然手脚动画还是不怎么神似,但人类聪明地大…

    2025年3月10日 编程技术
    200
  • CSS3变形-旋转实现4色花-案例解析(代码实例)

    本文目标: 1、掌握css3中如何让元素旋转 问题: 1、实现以下效果,且使用纯DIV+CSS 附加说明: 1、带蝴蝶的粉色圆圈是一张图片 立即学习“前端免费学习笔记(深入)”; 2、中间的“4色花”是由4个半圆通过旋转生成的,每个半圆的直…

    2025年3月10日
    200
  • 详解CSS3实现弹性布局的方式

    一、CSS3弹性盒子 弹性盒子是CSS3的一种新布局模式。 CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。 引入弹性盒布局模型的目的是提…

    2025年3月10日 编程技术
    200
  • CSS3如何实现图片木桶布局?(附代码)

    本篇文章给大家通过代码示例介绍一下使用css3实现图片木桶布局的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 高度相同,而宽度不一样的布局,称之为木桶布局。它有几个鲜明的特点: 每行的图片高度一致;每行的图片都是占…

    2025年3月10日
    200
  • 九款纯CSS3绘制的复古相机特效代码

    本篇文章给大家分享九款纯css3绘制的复古相机特效代码。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 先看看制作出来的效果图: PS:  有人会说,这些东西实用性不强,没啥用。一开始我也是这么觉得,但后来我就改变自己的看…

    2025年3月10日 编程技术
    200
  • css3中过渡和动画的区别是什么

    css3中过渡和动画的区别是:过渡需要触发一个事件才会随着时间改变其CSS属性;动画在不需要触发任何事件的情况下,也可以随时间变化来改变元素CSS属性。 animation属性类似于transition,他们都是随着时间改变元素的属性值,其…

    2025年3月10日
    200
  • css3中让图像居中可以使用哪个元素

    css3中让图像居中可以使用【align-items:center】元素和【justify-content:center】元素。align-items属性定义flex子项在flex容器的当前行的纵轴方向上的对齐方式。 方法: 采用 alig…

    2025年3月10日
    200
  • css3是什么技术

    css3是css技术的升级版,是一种用来表现HTML或XML等文件样式的计算机语言。css能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式。 CSS3是CSS(层叠样式表)技术的升级版本,是一种用来表现HTML(标准…

    2025年3月10日
    200
  • css3倒影效果怎么实现

    css3倒影效果的实现方法:可以利用box-reflect属性来实现倒影效果,如【-webkit-box-reflect:below 10px】。box-reflect属性用来设置或检索对象倒影,该属性包含方向、偏移量、遮罩图像三个值。 b…

    2025年3月10日
    200

发表回复

登录后才能评论