当前位置: 首页 > news >正文

做游戏的外包网站全网搜索引擎

做游戏的外包网站,全网搜索引擎,上海品牌网站建设公司排名,写作网站哪个名声好一、简介 ​ 本篇博客讲述了如何实现一个圆形波浪进度条的样式效果,具体效果参考下方GIF图。该样式的加载进度条可以用在页面跳转或数据处理等情况下的加载动画,比起普通的横条进度条来说,样式效果更生动美观。 实现思路: ​ 这…

一、简介

​ 本篇博客讲述了如何实现一个圆形波浪进度条的样式效果,具体效果参考下方GIF图。该样式的加载进度条可以用在页面跳转或数据处理等情况下的加载动画,比起普通的横条进度条来说,样式效果更生动美观。

实现思路:

​ 这个样式效果看似很简单,实际上实现起来一点也不难。难的是如何想到实现的思路。

​ ① 外层父元素通过border-radius,变成圆形,并设置其position: ralative;overflow: hidden;,使其内部超出的部分被隐藏。

​ ② 在内部创建一个子元素,作为实现波浪效果的元素,设置其宽高为父元素的两倍,并通过border-radius设置其圆角。

​ ③ 给该子元素设置一个旋转动画,使其循环播放,一直旋转。并通过position: absolute;使子元素的顶部对齐父元素的底部。

​ ④ 设置一个CSS自定义属性--progress,通过top: calc(100% - var(--progress));控制子元素的在Y轴上的移动。在JS中可以通过控制--progress的数值,来控制子元素向上移动距离,从而表现整体进度的百分比。由于父元素设置了overflow: hidden;,所以在子元素旋转上移的过程中,只有一部分内容能在父元素内容区域中显示出来,再加上子元素的旋转+圆角样式,就形成了波浪的效果。

​ ⑤ 再创建一个子元素,内部文本显示进度的百分比数字,该子元素同样通过absolute进行绝对定位,使其位于父元素中间,并且z-index的层级大于上面的波浪元素。

页面效果图:

在这里插入图片描述

帮助理解,去除掉overflow: hidden属性的效果图:

在这里插入图片描述

二、具体代码

CSS代码:
    /* 定一个旋转动画 用于实现波浪效果 */@keyframes progressRotate {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}/* 设置外层元素样式 */.progress-box {position: relative;width: 200px;height: 200px;border-radius: 50%;background: #fff;/* 最关键的属性 */overflow: hidden;}/* 设置进度条样式 */.progress {position: absolute;/* 波浪占据外层圆形区域的百分比 由 --progress控制 */top: calc(100% - var(--progress));left: 50%;transform: translateX(-50%);z-index: 9;width: 200%;height: 200%;border-radius: 34%;background: #6495ED;/* 添加旋转动画效果 */animation: progressRotate 2.5s linear infinite;/* 由于上面使用了transform 且动画中也使用了transform 设置该属性使其叠加生效 */animation-composition: add;}/* 设置进度数字样式 */.number {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 10;margin: 0;font-size: 24px;}
html代码:
  <!-- 圆形波浪进度条外层元素 --><div class="progress-box"><!-- 波浪效果元素 设置了一个css变量  --><div class="progress" style="--progress: 0%"></div><!-- 进度数字 --><p class="number">0%</p></div>
JavaScript代码:
		// 获取进度条元素const progress = document.querySelector('.progress');const number = document.querySelector('.number');// 进度值let progressValue = 0;// 模拟获取进度let timer = setInterval(() => {progressValue += 1;// 更新波浪进度条的进度progress.style.setProperty('--progress', `${progressValue}%`);// 更新进度数字number.textContent = `${progressValue}%`;// 记得清除定时器if (progressValue === 100) {clearInterval(timer);}}, 40);
http://www.wangmingla.cn/news/22070.html

相关文章:

  • dede网站源码下载郑州做网站推广电话
  • 海曙网站制作推广计划书怎么写
  • 重庆哪里做网站国内做seo最好的公司
  • 玉树营销网站建设多少钱网络整合营销公司
  • 企业商城网站开发建设百度一下知道首页
  • 建一个自己的网站价格外包
  • wordpress中用户权限百度搜索引擎优化的方法
  • 网站代码基础知识口碑营销成功案例有哪些
  • 网站开发者的设计构想国外网站推广
  • 自己做公司网站简单吗电商平台如何推广运营
  • 自学网站建设要多久站长网站查询
  • 微商代理怎么找货源武汉网站seo
  • 网站维护主要从哪几个方面做磁力猫torrentkitty官网
  • 高端网站建设谷美推广软文怎么写
  • 广州网站建设 乐云seo爱站长尾词挖掘工具
  • 优秀网站设计欣赏案例希爱力5mg效果真实经历
  • 网络营销策划案ppt百度seo关键词排名s
  • 织梦手机网站有广告位网络营销策划方案模板范文
  • 佛山营销网站开发深圳知名seo公司
  • 如何推广微信公众号seo在哪可以学
  • 黄骅市网站建设公司互联网营销是做什么的
  • 什么系统做网站最安全重庆seo代理计费
  • wordpress改大优化服务
  • 展馆网站建设方案百度指数专业版app
  • 流量打不开网站怎么办原画培训班一般学费多少
  • 上海八号桥 网站建设广州网络科技有限公司
  • mac做网站设计b2b b2c c2c o2o区别
  • 普陀区网站建设供应阿里网站seo
  • 蒙古文网站建设汇报产品推广语
  • 四川城乡住房城乡建设厅网站百度推广服务