【CSS】css3怎么实现一个矩形的倒计时效果

clipboard.png

如上图,有这样一个正方形,下面显示的是名字和一些数据,绿色的数字是动态的值,右侧的数字是总数
现在:
数据中的文字希望放在正方形的头像上,并且会有一个蒙层盖住,当绿色的数字改变计算出百分比并控制蒙层旋转,类似环形进度条,如果是100%的话蒙层就看不见!

回答:

已经解决了

<style>

.progress {

width: 100px;

height: 100px;

background-color: red;

display: flex;

justify-content: center;

align-items: center;

overflow: hidden;

position: relative;

}

.circle {

position: absolute;

width: 200px;

height: 200px;

}

.circle .left div,

.circle .right div {

background-color: rgba(0, 0, 0, .3);

}

.left,

.right {

width: 99px;

height: 200px;

overflow: hidden;

float: left;

position: relative;

}

.left div,

.right div {

width: 100px;

height: 200px;

transform-origin: right center;

transform: rotateZ(-180deg);

}

.right div {

transform-origin: left center;

}

</style>

<div class="progress">

<span class="text">0</span>

<div class="circle">

<div class="left">

<div></div>

</div>

<div class="right">

<div></div>

</div>

</div>

</div>

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>

<script>

function setCircle(oClass, num, n) {

var aEle = $(oClass),

Rdeg = num > n ? n : num,

Ldeg = num > n ? num - n : 0;

aEle.find('.text').text(num);

aEle.find('.right>div').css('transform', "rotateZ(" + (360 / (2 * n) * Rdeg) + "deg)");

aEle.find('.left>div').css('transform', "rotateZ(" + (360 / (2 * n) * Ldeg) + "deg)");

}

setCircle('.progress', 7, 10);

</script>

clipboard.png

clipboard.png

回答:

如果是用react ,结合styled-components的计算属性,是比较简单简单的,只要获取数据。 有几个react的组件库都有环形进度条可供使用

以上是 【CSS】css3怎么实现一个矩形的倒计时效果 的全部内容, 来源链接: utcz.com/a/154395.html

回到顶部