国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

純 Css 繪制扇形

kel / 2266人閱讀

摘要:顯而易見餅干為兩個削成了圓形的,我們重點演示果醬是怎么制作的如圖所示,大扇形由個小扇形構成,每一小扇形占整個圓餅的,大扇形占整個圓餅的。則小扇形的圓心角為,三角形的高為,寬為。

閱讀此文需具備基本數學知識:圓心角、弧度制、三角函數。

為實現如下效果嘔心瀝血:

當然你可以擁抱 Svg...在此分享如何純 Css 打造圓環進度條,只需三步!

此物乃 2 + 1 夾心餅干,藍綠色部分為果醬。顯而易見餅干為兩個削成了圓形的 div ,我們重點演示果醬是怎么制作的:

如圖所示,大扇形由 6 個小扇形構成,每一小扇形占整個圓餅的 1/15 ,大扇形占整個圓餅的 6/15 。我們只需構造一個扇形單元,將其復制 6 份后旋轉相應角度連接至一起即可。

如何構造扇形?用三角形偽裝...

三角形的寬高如何計算?假定圓半徑 $radius 為 100px,等分數 $count 為 15。則小扇形的圓心角為 360deg / 15 ,三角形的高為 100px,寬為 2 × 100px × tan(360deg / 15 / 2) 。其中 360deg / 15 / 2 轉化弧度制為 PI / 15 (PI == 360deg / 2)。

span {
    width: 0;
    height: 0;
    border: $radius solid transparent;
    $borderWidth: tan(pi() / $count) * $radius;
    border-left-width: $borderWidth;
    border-right-width: $borderWidth;
}

數學欠佳的同學請自行科普...

對于 $count12 的情況需特殊處理,因為 tan(PI)tan(PI / 2) 為無窮值,不了解的同學請研究正切函數圖像:

相關代碼(其中 $diameter = 2 × $radius 為圓直徑):

span {
    @if $count == 1 {
        width: $diameter;
        height: $diameter;
    } @else if $count == 2 {
        width: $diameter;
        height: $radius;
    } @else {
        width: 0;
        height: 0;
        border: $radius solid transparent;
        $borderWidth: tan(pi() / $count) * $radius;
        border-left-width: $borderWidth;
        border-right-width: $borderWidth;
    }
}

最后,復制并逐一旋轉扇形單元:

@for $index from 0 to $count {
    span:nth-child(#{$index + 1}) {
        $transform: translate(-50%, 0) rotate(360deg / $count / 2 + 360deg * $index / $count);
        $origin: if($count == 2, bottom, center);
        -webkit-transform: $transform;
                transform: $transform;
        -webkit-transform-origin: $origin;
                transform-origin: $origin;
    }
}

果醬制作完畢,其它點綴請自行添加嘍...本例完整代碼在此。

2017/11/14 續更

由于本例引入了三角函數等數學運算,使用 Sass 預編譯。未安裝 Sass 的同學可下載經編譯的 源碼 開啟 sector.html 查看效果。

安裝 Sass 請參考 https://segmentfault.com/a/11... 文章末尾的安裝教程。

本例調試方法:

cd sector
sass --watch style.scss:style.css --debug-info

作者:呆戀小喵

我的后花園:https://sunmengyuan.github.io...

我的 github:https://github.com/sunmengyuan

原文鏈接:https://sunmengyuan.github.io...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/112717.html

相關文章

  • CSS之如何繪制任意角度的扇形

    摘要:扇形制作原理,底部一個純色原形,里面個相同顏色的半圓,可以是白色內部半圓按一定角度變化,就可以產生出扇形效果扇形繪制這個屬性用來繪制半圓,在的范圍內的內容顯示出來,使用屬性,元素必須是的繪制一個度扇形繪制一個度扇形 扇形制作原理,底部一個純色原形,里面2個相同顏色的半圓,可以是白色,內部半圓按一定角度變化,就可以產生出扇形效果 扇形繪制 .shanxin...

    Aomine 評論0 收藏0
  • CSS之如何繪制任意角度的扇形

    摘要:扇形制作原理,底部一個純色原形,里面個相同顏色的半圓,可以是白色內部半圓按一定角度變化,就可以產生出扇形效果扇形繪制這個屬性用來繪制半圓,在的范圍內的內容顯示出來,使用屬性,元素必須是的繪制一個度扇形繪制一個度扇形 扇形制作原理,底部一個純色原形,里面2個相同顏色的半圓,可以是白色,內部半圓按一定角度變化,就可以產生出扇形效果 扇形繪制 .shanxin...

    lyning 評論0 收藏0
  • H5扇形

    摘要:使用繪制的可交互扇形現有動畫實現方式的不足和都不十分精確。為它們傳入的第二個參數,實際上只是指定了把動畫代碼添加到瀏覽器線程隊列中以等待執行的時間。就是為了繪制而生,再合適不過了。感興趣的看官點擊這里本文轉載自筆者的個人博客 使用H5 canvas繪制的可交互扇形 requestAnimationFrame() 現有動畫實現方式的不足 setTimeout和setInterval都不十...

    cpupro 評論0 收藏0

發表評論

0條評論

kel

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<