鍍金池/ 問答/HTML5  HTML/ css3怎么實現(xiàn)一個矩形的倒計時效果

css3怎么實現(xiàn)一個矩形的倒計時效果

clipboard.png

如上圖,有這樣一個正方形,下面顯示的是名字和一些數(shù)據(jù),綠色的數(shù)字是動態(tài)的值,右側(cè)的數(shù)字是總數(shù)
現(xiàn)在:
數(shù)據(jù)中的文字希望放在正方形的頭像上,并且會有一個蒙層蓋住,當綠色的數(shù)字改變計算出百分比并控制蒙層旋轉(zhuǎn),類似環(huán)形進度條,如果是100%的話蒙層就看不見!

回答
編輯回答
朽鹿

如果是用react ,結(jié)合styled-components的計算屬性,是比較簡單簡單的,只要獲取數(shù)據(jù)。 有幾個react的組件庫都有環(huán)形進度條可供使用

2017年5月9日 00:51
編輯回答
萌吟

已經(jīng)解決了

<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

2017年5月28日 18:50