日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

两种CSS3圆环进度条详解

發布時間:2025/3/20 CSS 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两种CSS3圆环进度条详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

晚上睡覺之前,我抽了1個多小時,研究了一下圓環進度條,結合從網上查閱的資料,我終于掌握了兩種圓環的生成方法。

這次的效果就是單純的CSS3效果,也沒有寫具體的JS,等以后有時間在好好整理一下吧~。

?

第一種:通過overflow溢出隱藏的方式:

這種方法好處在于容易理解,只需要一層一層的嵌套,即可得到效果,但是實現起來較為繁瑣,HTML的結構也比較冗余。

先看HTML結構:

<div class="circle-one"><div class="circle-one-l"> <div class="circle-one-l-in"></div></div><div class="circle-one-r"><div class="circle-one-r-in"></div></div></div>

?.circle-one-l?:用于控制左側的顯示范圍

?.circle-one-l-in?:?用于控制只顯示半圓

?.circle-one-l-in:after?: 用于生成一條完整的圓,這里的圓是通過邊框線的方式顯示出來的,所以對應的寬與高要進行一定的減去。

?circle-one-r?:用于控制右側的顯示范圍。

  ...?

在看CSS代碼

.circle-one{width: 200px;height: 200px;position:relative;margin:50px auto;overflow:hidden;}.circle-one-l,.circle-one-l-in{width: 100px;height: 200px;position:absolute;left:0px;top:0px;overflow:hidden;}.circle-one-l-in{transform-origin:100% 50%;transform:rotate(-180deg);animation:circle_one_l linear 2s forwards;}.circle-one-l-in:after{content:' ';position:absolute;left:0;top:0;border-radius: 50%;border:10px solid #000;width: 180px;height: 180px;}.circle-one-r,.circle-one-r-in{width:100px;height:200px;position:absolute;right:0px;top:0px;overflow:hidden;}.circle-one-r-in{transform:rotate(-180deg);transform-origin:0% 50%;animation:circle_one_r linear 2s 2s forwards;}.circle-one-r-in:after{content:' ';position:absolute;left:-100px;top:0;border-radius: 50%;border:10px solid #000;width: 180px;height: 180px;}@keyframes circle_one_l{0%{transform:rotate(-180deg);}100%{transform:rotate(0deg);}}@keyframes circle_one_r{0%{transform:rotate(-180deg);}100%{transform:rotate(0deg);}}

?

使用overflow溢出隱藏的方式實現的圓環進度效果,其核心實現就是通過overflow分別劃分兩個顯示范圍,然后在每個顯示范圍的內部,再在其子標簽 -in 上通過使用overflow,來得到兩個半圓,后期,在通過旋轉這兩個半圓,便得到進度的效果了。

?

第二種:通過使用clip:rect進行裁剪的方法:

這種方法的好處在于節省HTML標簽結構,但是clip卻不怎么好理解。

clip是一種CSS裁剪屬性,只能作用在絕對定位(absolute)的元素上,可以控制元素可顯示的范圍。

clip有四個屬性值,分別是top,right,bottom,left

格式:clip:rect(top,right,bottom,left)

可以形象的將clip:rect理解成一個點,而它的四個值:top,right,bottom,left,根據值的大于小,分別對上、右、下、左四個方向進行擴張或收縮。

*其中如果某個值是顯示范圍的最大值,可以用auto表示

----------------------------------------------------------------------------

預熱說完,下面說正經的

使用clip裁剪方式實現的圓環進度效果,其核心實現就是通過clip裁剪出左右兩個半圓,然后對半圓進行旋轉,拼接出完整的圓環進度效果:

先看HTML結構:

<div class="circle-two"><div class="circle-two-l"></div><div class="circle-two-r"></div><div class="circle-two-mask"></div></div>

?

circle-two-l 這個div是用于控制左邊顯示區域,因為裁剪區域是:?clip:rect(0,100px,auto,0);?

circle-two-l:after 這是一個實心的黑色背景的圓形,但是通過裁剪區域只能顯示半圓

circle-two-r?這個div是用于控制右邊顯示區域,因為裁剪區域是:?clip:rect(0,auto,auto,100px)?

circle-two-r:after 這是一個實心的黑色背景的圓形,但是通過裁剪區域只能顯示半圓

circle-two-mask 則是遮罩,它與背景色相同。

?

下面看看CSS:

.circle-two{width: 200px;height: 200px;position:relative;margin:50px auto;}.circle-two-l{width: 200px;height: 200px;position:absolute;left:0;top:0;clip:rect(0,100px,auto,0);}.circle-two-l:after{content:' ';background:#000;width:200px;height:200px;border-radius:50%;position:absolute;left:0;top:0;clip:rect(0,100px,auto,0);transform:rotate(-180deg);animation:circle_two_l linear 2s forwards;}.circle-two-r{width:200px;height: 200px;position: absolute;left:0;top:0;clip:rect(0,auto,auto,100px);}.circle-two-r:after{content:' ';background:#000;width:200px;height:200px;border-radius:50%;position:absolute;left:0;top:0;clip:rect(0,auto,auto,100px);transform:rotate(-180deg);animation:circle_two_r linear 2s 2s forwards;}.circle-two-mask{width: 180px;height: 180px;background:#fff;border-radius:50%;position:absolute;left:50%;top:50%;margin-top:-90px;margin-left:-90px;}@keyframes circle_two_l{0%{transform:rotate(-180deg);}100%{transform:rotate(0deg);}}@keyframes circle_two_r{0%{transform:rotate(-180deg);}100%{transform:rotate(0deg);}}

因此最終,分別通過控制旋轉左右兩個半圓,再結合?.circle-two-l?,?? .circle-two-r?clip控制的顯示范圍,便實現了進度的增加效果。

-----------------------------------

好了,結束,進被窩睡覺~明天繼續奮斗,加油~

轉載于:https://www.cnblogs.com/HCJJ/p/5309102.html

總結

以上是生活随笔為你收集整理的两种CSS3圆环进度条详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲成色在线 | 日本第一页 | 麻豆国产一区 | 中文字幕女优 | 成人福利一区 | 爆操91 | 少妇高潮一区二区三区99欧美 | 综合网亚洲 | 日韩网站在线观看 | 日韩性欧美 | 精品国产一区二区三区久久久久久 | 啦啦啦视频在线观看 | 免费黄色网址在线观看 | 国产免费毛卡片 | 久操视频免费观看 | 网站毛片| 成人做爰69片免费观看 | 国产一区二区在线播放 | 久久人人妻人人人人妻性色av | 99视频+国产日韩欧美 | 99精品视频免费在线观看 | 国产高潮呻吟久久 | 日韩精品人妻无码一本 | 亚洲天堂资源网 | 亚洲欧美日韩偷拍 | 最新最全av网站 | 香蕉久久国产av一区二区 | av国产一区 | 99黄色片| 精品黄色片 | 国内成人精品 | 中文字幕无码毛片免费看 | 黑人玩弄人妻一区二区三区四 | 久久久久久久久久久久电影 | 欧美性生活精品 | 欧洲精品二区 | 亚洲av久久久噜噜噜熟女软件 | 国产精品成人Av | 公侵犯一区二区三区四区中文字幕 | 依依成人综合 | 欧美日韩不卡一区二区 | 亚洲影视一区二区三区 | 亚洲wwwwww| 制服丝袜亚洲 | 免费国产黄色片 | 日本人xxxⅹ18hd19hd | 黄色免费在线视频 | 美女在线免费视频 | 日本夫妻性生活视频 | 综合激情五月婷婷 | 成人日韩在线 | 久久嗨 | 热久久精品免费视频 | 国产白嫩美女无套久久 | 日韩在线第一 | 国产95在线 | 国产精品久久久久久久天堂 | 国产午夜精品免费一区二区三区视频 | 免费在线色视频 | 亚洲国产精品久久久久婷蜜芽 | 三级艳丽杨钰莹三级 | 日本69少妇 | 天天干天天操天天操 | 想要视频在线观看 | 中午字幕在线观看 | 国产毛片一区 | 国产在线网址 | 国产精品久久一 | 蜜桃视频一区二区三区 | 性――交――性――乱睡觉 | 777四色| 国产无遮挡裸体免费视频 | 黄色三级带 | 涩涩涩在线观看 | 久久欧美精品 | 911美女片黄在线观看游戏 | 精品国产乱码久久久久夜深人妻 | 日韩成人福利视频 | 日韩欧美99| 久久人妻一区二区 | 年下总裁被打光屁股sp | 日韩av首页| 亚洲精品福利视频 | 国产黄色片在线 | 波多野吉衣一区二区 | 亚洲欧美综合在线观看 | 91免费 看片| 国产中文视频 | 少妇人妻综合久久中文字幕 | 亚洲一区中文 | 久久婷婷五月综合色国产香蕉 | 国产一区二区在线观看视频 | 色肉色伦交av色肉色伦 | 日韩成人性视频 | 久久五月天综合 | 国产女人18水真多毛片18精品 | 国产精品午夜电影 | 亚洲午夜剧场 | 欧美日韩亚洲精品一区二区 |