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

长沙做网站的公司哪家最好鞍山站

长沙做网站的公司哪家最好,鞍山站,织梦大气金融类通用企业网站模板,大兴安岭地网站seo能用现成组件就用,实现不行再自己写,因为牵扯到上传文件,进度实时出不来,所以只能使用dom元素操作; 1.实现 效果: 上图是100%,如果需要根据百分比显示,我们需要看下代码里面left和…

能用现成组件就用,实现不行再自己写,因为牵扯到上传文件,进度实时出不来,所以只能使用dom元素操作;

1.实现

效果:

上图是100%,如果需要根据百分比显示,我们需要看下代码里面left和right的旋转角度,这个圆实现上,以垂直直径切割,是左右两部分,调整css transform即可。

代码如下:

html

percentHtml.innerHTML = `<div class="progress"><span class="title"></span><div class="overlay"></div><div class="left" style="transform: rotate(${get_deg(percenNum)?.left_deg}deg);z-index: ${get_deg(percenNum)?.zIndex_left};"></div><div class="right" style="transform: rotate(${get_deg(percenNum)?.right_deg}deg);"></div></div>`

css

* {box-sizing: border-box;padding: 0;margin: 0;}.progress {width: 20px;height: 20px;color: #fff;border-radius: 50%;overflow: hidden;position: relative;background: #dcdcdc;text-align: center;line-height: 200px;box-shadow: 2px 2px 2px 2px white;mask: radial-gradient(transparent 7px, #000 8px);-webkit-mask: radial-gradient(transparent 7px, #000 8px)}.progress .overlay {width: 50%;height: 100%;position: absolute;top: 0;left: 0;z-index: 1;background-color: #dcdcdc;}.progress .left,.progress .right {width: 50%;height: 100%;position: absolute;top: 0;left: 0;border: 10px solid #29b6f6;border-radius: 100px 0px 0px 100px;border-right: 0;transform-origin: right;}

 2.原理及函数

可以用这个原理实现百分比:

1)0%,left为0deg(z-index为0,因为right在左边,所以需要index为0至在灰色下面),right为0deg;

2)当百分比小于50%且不为0的时候,左边不需要百分比:继续为0度,右边180度是50%,计算出1%是多少度:180 / 50% = 3.6度(度/1%),乘以百分比即可;

3)大于50%,right为180deg,left对应:100%是0deg,z-Index = 10,75%对应-90deg,以此为例,那么计算规律是,75% - 50% = 25%,25 * 3.6 = 90,因为left是逆时针计算,所以需要用180 - 90 = 90,再添加一个符号即可(数学上直接减180结果一样),就是-90deg。

4)100%,left为0deg(z-index=10,覆盖左侧overlay),right为180deg;

如下函数:

const get_deg = (percent: number) => {let left_deg=0, right_deg=0, zIndex_left = 0;const one_percent_deg = 180 / 50; // (3.6度/1%)if (percent) {if (percent <=50 && percent > 0) {console.log('小于50大于0');left_deg = 0;right_deg = percent * one_percent_deg;} else if (percent > 50 && percent < 100) {console.log('50到100');left_deg = (percent - 50) * one_percent_deg - 180;zIndex_left = 10;right_deg = 180;} else if (percent === 100) {console.log('等于100');left_deg = 0;zIndex_left = 10;right_deg = 180;}}return {left_deg,right_deg,zIndex_left} 
}

特别注意一点,在 左侧半圆环,大于50%的时候,需要给左侧添加z-index=100,因为:其实他们左右的颜色大小都是不变的,只是在旋转,给我们视觉上的效果,就像是百分比一样。

我们给左侧限制了-180度的最小值,就是不让他旋转到右侧,而右侧0度的最小限制也是一个意思。

在大于50%的时候右侧为180度,我们看如果75%的时候,也是就左侧25%,且设置右侧小于180度会发生什么:

这里设置的左侧旋转-90度,右侧为80度,我们清晰的看到左侧的环形会来到右侧,中间会有缝隙,当然我们大于50%的时候,右侧会占满,同时使用z-index灵活去遮挡,就给我们视觉上看到正确的百分比,这里需要理解并实践。

注:代码参考自网络,有改变,仅做记录、参考使用

http://www.yayakq.cn/news/268839/

相关文章:

  • wordpress建站教程linux如何建一个公司网站
  • 关于网站设计的论文菏泽网站建设菏泽
  • 网站公司建设网站网站设计人员就业要求
  • 怎样做视频电影网站丰台区网站建设公司
  • 网站建设公司的小程序选择什么企业网站营销的实现方式
  • 网站推广软件app南昌网站建设报价
  • 网站开发的费用属于什么科目辽宁建设局网站首页
  • 邵阳网页企业seo是什么意思
  • 东莞网站设计公司淘宝陕西建设网最新消息
  • 久久建筑往周口seo推广
  • 住房和城乡建设部网站建筑电工网站做强制访问控制
  • 手机代码编辑器天津seo托管
  • 合肥学校网站建设wordpress报名系统
  • 做动画 的 网站有哪些内容如何搭建自己的网站服务器
  • 上海网络营销网站建设免费网站建设方案优化
  • 网站 医院信息化建设北京网站建设公司电话
  • 帮人负责做网站叫什么工作单位网站建设费用支出账务处理
  • 做外贸网站的公司南通公司注册
  • 建设银行网站的特点分析网站备案需要什么资料
  • 怎么在服务器里面建设网站更合网站建设制作
  • flashfxp怎么上传对应网站空间外包app
  • 杭州 电子商务网站建设中远智达网站建设
  • 苏州市做网站网页设计logo素材
  • 静态网站托管平台做网站域名选择
  • 网站建设费用要摊销嘛台州网站开发公司
  • 青海住房建设网站婚庆网站搭建的流程
  • 网站建设公司推广网站品牌运营南昌盗网站少优化公司
  • 哪些网站用django做的如何快速推广自己的产品
  • 网站建设关于网上书店图片素材设计封面
  • 免费企业建站建设部网站资质升级陈述通过