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

做游戏的外包网站友链交易平台源码

做游戏的外包网站,友链交易平台源码,wordpress换域名不换空间,动态网站建设与规划一、简介 ​ 本篇博客讲述了如何实现一个圆形波浪进度条的样式效果,具体效果参考下方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.dinnco.com/news/54569.html

相关文章:

  • 商城网站开发技术可行性分析广州seo运营
  • 架设网站费用怎么制作百度网页
  • 怎么做网络推广方案seo推广是什么
  • 更新网站的图片加不上水印网络视频营销的案例
  • wordpress文章导入在哪里seo搜索优化是什么
  • 邢台网站制作的地方厦门网站快速排名优化
  • 北京网站优化济南兴田德润简介电话全国疫情的最新数据
  • 品划做网站搜索引擎优化解释
  • 专业建网站 优帮云怎么免费给自己建网站
  • 找别人做的淘客网站 会不会有问题排名优化软件
  • 网站蓝色竞价网络推广
  • wordpress默认title网络公司seo教程
  • wordpress注册不发邮件哈尔滨seo推广优化
  • 绵阳个人网站建设百度收录好的免费网站
  • 江门专业网站建设价格湖南网站建设效果
  • 做网站都有哪些软件重庆网站设计
  • cmsv6官方免费下载短视频seo营销
  • 用微信小程序怎么做网站营销顾问
  • 关镇铨装修到底怎样西安网站优化公司
  • 女生做网站前端设计师站长之家权重查询
  • 个人网站价格南宁网站推广营销
  • 重庆企业网络推广网站正规推广赚佣金的平台
  • 我想花钱做网站怎样做企业推广
  • 帮人做网站怎么收费百度搜索
  • 网站建设湖南岚鸿建设sem论坛
  • 如何将自己做的网站放到网上如何搭建网站
  • 软件开发 网站建设怎么做网站平台
  • dw做的网站怎么让别人看到链接买卖
  • 宁波住房和城乡建设委员会官方网站seo服务公司招聘
  • 自己做的网站打不开了完整的网页设计代码