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

做游戏的外包网站最佳磁力吧ciliba搜索引擎

做游戏的外包网站,最佳磁力吧ciliba搜索引擎,天津做网站选择津坤科技c,大型网站开发费用一、简介 ​ 本篇博客讲述了如何实现一个圆形波浪进度条的样式效果,具体效果参考下方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.mmbaike.com/news/93624.html

相关文章:

  • 广西网站建设产品优化怎么做谷歌推广
  • 佛山高明网站建设设计磁力搜索引擎哪个好
  • 怎建立自己网站做淘宝客seo 工具推荐
  • 集团公司网站建设方案googleplay官网
  • 网站解决方案模板网络市场调研
  • 网站做APP麻烦吗公司网站设计公司
  • 茅台酒国内营销网络网站内部seo
  • 威海网站建设哪一家软文有哪些发布平台
  • 想通过网站卖自己做的东西网络营销项目
  • 网站蜘蛛抓取推广引流话术
  • 制作和淘宝商城一样网站seo站长教程
  • wordpress xml文件分割器枣庄网络推广seo
  • 政府门户网站建设对策建议外包接单平台
  • 云网站开发百度文库官网首页
  • 个人简历word免费模板seo搜论坛
  • 辽宁建设厅查询网站首页武汉seo 网络推广
  • 郑州企业网站优化怎样推广app别人才愿意下载
  • 网站开发 net百度指数关键词工具
  • ui设计包括哪些关键词排名关键词优化
  • 建瓯市建设局网站中国足球世界排名
  • 台州市建设厅网站2022年度最火关键词
  • 深圳网站备案时间seo如何优化关键词排名
  • 响应式网站代码排名seo怎么样
  • 怎么做联盟网站关键词全网搜索
  • 大型企业网络建设方案自动app优化官网
  • 网站开发语言查询 蔡学镛seo优化是怎么优化的
  • 许昌市网站建设各大搜索引擎入口
  • 石家庄网站优化推广适合seo优化的网站
  • 响应式网站开发周期吉安seo
  • 云程环境建设集团网站石家庄seo