Cara Membuat Bar Kemajuan Pekeliling dengan CSS
Buat bar kemajuan cincin menggunakan CSS boleh dicapai melalui gradien conic atau clip-path dan putaran. Yang pertama sesuai untuk kemajuan kemas kini statik atau JavaScript, sementara yang terakhir lebih sesuai untuk animasi yang lancar; Membina penampilan bulat melalui pembolehubah CSS dan unsur-unsur pseudo, mengawal kemajuan dengan transformasi: berputar (), dan tambah peralihan untuk mencapai kesan animasi, menyokong warna tersuai, ketebalan dan tag pusat, dan pilih kaedah yang sesuai berdasarkan keserasian pelayar dan keperluan animasi.
Mewujudkan bar kemajuan bulat dengan CSS adalah cara yang bersih untuk mewakili kemajuan atau peratusan siap secara visual di laman web. Walaupun CSS tulen mempunyai batasan untuk kemas kini dinamik, anda boleh membina bar kemajuan pekeliling yang berfungsi dan animasi menggunakan gabungan CSS dan HTML yang minimum. Inilah caranya.
1. Gunakan pendekatan CSS sahaja dengan unsur-unsur pseudo dan putaran sempadan
Kaedah biasa menggunakan bekas dengan elemen pseudo yang berputar untuk mensimulasikan kemajuan kemajuan. Ini berfungsi dengan baik untuk bar statik atau separa dinamik (dikemas kini melalui kelas JavaScript).
Struktur HTML:
<div class = "pekeliling-proses" style = "-Progress: 75;"> </div>
CSS:
.circular-progress { lebar: 100px; Ketinggian: 100px; Radius sempadan: 50%; Latar Belakang: Conic-Gradient ( #4CAF50 var (-Kemajuan), #e0e0e0 var (-kemajuan) ); Kedudukan: Relatif; } .circular-progress :: sebelum { Kandungan: ''; Kedudukan: Mutlak; Atas: 50%; Kiri: 50%; Transform: Terjemahan (-50%, -50%); lebar: 80%; Ketinggian: 80%; Latar Belakang: Putih; Radius sempadan: 50%; }
Ini mewujudkan bulatan yang dipenuhi dengan peratusan yang ditakrifkan oleh pembolehubah CSS --progress
(misalnya, 75%
). conic-gradient
menarik arka berwarna, dan ::before
pseudo-element topeng pusat untuk menjadikannya kelihatan seperti cincin.
NOTA:
conic-gradient
disokong dengan baik dalam pelayar moden tetapi mungkin memerlukan penolakan untuk yang lebih tua.
2. Buat bar kemajuan gaya cincin menggunakan sempadan dan laluan klip
Jika anda mahukan strok pekeliling nipis (seperti pemutar pemuatan), gunakan elemen bersempadan di dalam bekas yang dipotong.
Html:
<div class = "progress-ring"> <div class = "progress-fill"> </div> </div>
CSS:
.progress-ring { lebar: 100px; Ketinggian: 100px; Radius sempadan: 50%; Latar Belakang: #e0e0e0; Kedudukan: Relatif; } .progres-fill { Kedudukan: Mutlak; Lebar: 100%; Ketinggian: 100%; Radius sempadan: 50%; klip: rect (0px, 100px, 100px, 50px); Latar Belakang: #4CAF50; Transform: Putar (135Deg); / * Bermula dari atas */ } .progress-fill :: sebelum { Kandungan: ''; Kedudukan: Mutlak; Atas: 0; Kiri: 0; Lebar: 100%; Ketinggian: 100%; Radius sempadan: 50%; klip: rect (0px, 50px, 100px, 0px); Latar Belakang: #4CAF50; Transform: Putar (90Deg); / * Menyesuaikan berdasarkan kemajuan */ Transform-asal: 50% 50%; }
Untuk menghidupkan ini dengan peratusan tertentu (contohnya, 60%), anda akan mengira sudut putaran: 360 * (progress / 100)
. Anda boleh mengemas kini ini melalui JavaScript dengan mengubah suai transform: rotate()
nilai pada .progress-fill::before
.
3. Tambahkan animasi dan peralihan yang lancar
Untuk menjadikan bar beredar dengan lancar apabila kemajuan berubah, gunakan peralihan CSS. Walau bagaimanapun, conic-gradient
dan clip
tidak secara langsung boleh dihidupkan, jadi anda boleh menghidupkan transform: rotate()
pada elemen mengisi.
Contoh dengan animasi:
.progress-fill :: sebelum { Peralihan: Transformasi 0.5s mudah; }
Kemudian kemas kini putaran melalui JavaScript:
const fill = document.QuerySelector ('. Progress-fill :: sebelum'); // tidak mungkin secara langsung - sebaliknya, gunakan pembungkus atau kelas togol
Pendekatan yang lebih baik: Bungkus mengisi bekas dan putarnya:
<div class = "progress-ring"> <div class = "progress-mask"> <div class = "progress-fill"> </div> </div> </div>
.progress-mask { Kedudukan: Mutlak; Lebar: 100%; Ketinggian: 100%; klip: rect (0, 100px, 100px, 50px); transform: putar (0deg); / * Dikawal oleh js */ } .progres-fill { Lebar: 100%; Ketinggian: 100%; Radius sempadan: 50%; Latar Belakang: #4CAF50; }
Sekarang gunakan JavaScript untuk menetapkan putaran:
fungsi setProgress (peratus) { const rotatedeg = peratus * 3.6; // 360 /100 Document.QuerySelector ('. Progress-Mask'). Gaya.Transform = `berputar ($ {rotatedeg} deg)`; }
4. Sesuaikan penampilan
- Tukar ketebalan cincin dengan menyesuaikan potongan dalaman atau menggunakan sempadan.
- Tambah label di pusat menggunakan elemen kanak -kanak.
- Sokongan mereka dengan pembolehubah CSS:
.circular-progress { -Progres: 50%; --fg-color: #4CAF50; --bg-color: #e0e0e0; Latar Belakang: Conic-Gradient ( var (-fg-color) var (-kemajuan), var (-bg-color) var (-kemajuan) ); }
Pada asasnya, ia adalah campuran kecerunan pintar, keratan, dan putaran. Kaedah gradien conic adalah paling mudah untuk nilai statik atau js-updated. Untuk animasi yang lebih lancar, kaedah berputar klip-laluan memberikan lebih banyak kawalan. Pilih berdasarkan sokongan penyemak imbas dan keperluan animasi anda.
Atas ialah kandungan terperinci Cara Membuat Bar Kemajuan Pekeliling dengan CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Gunakan HTML dan CSS untuk membuat menu drop-down tanpa JavaScript. 2. Memicu paparan submenu melalui: hover pseudo-class. 3. Gunakan senarai bersarang untuk membina struktur, dan tetapkan kesan paparan tersembunyi dan digantung dalam CSS. 4. Animasi peralihan boleh ditambah untuk meningkatkan pengalaman visual.

UseObject-Fitormax-Widthwithheight: AutotopreventimagedIstion; Object-FitControlShowimagesfillConterswhilePreservingaseSpectratios, andmax-width: 100%; Height: AutoensureSressiveSsiveScalingWithoutStretching.

ThePointer-EventsPropertyIncScontrolswhetheranelementCanBethetargetOfPointerevents.1.usepointer-Events: nonetodisableIntionsLikeClicksorhoversWheLeepingTheelementVisibleVisible.2.applyoverlaystoundlowlickeWough

Usethebox-shadowpropertytoadddropshadows.Definehorizontalandverticaloffsets,blur,spread,color,andoptionalinsetforinnershadows.Multipleshadowsarecomma-separated.Example:box-shadow:5px10px8pxrgba(0,0,0,0.3);createsasoftblackshadow.

Thecssfilterpropertyallowseasymagestylingwitheffectslebur, kecerahan, andgrayscale.usefilter: fungsi penapis (nilai) onimagesorbackgroundimages.commonfunctionsincludeblur (px), kecerahan (%)

Untuk menambah latar belakang kecerunan CSS, gunakan latar belakang atau atribut imej latar belakang untuk bekerjasama dengan fungsi seperti linear-gradient (), radial-gradient (); Mula-mula pilih jenis kecerunan, tetapkan arah dan warna, dan anda boleh mengawalnya dengan halus melalui titik dok, bentuk, saiz dan parameter lain, seperti gradien linear (toright,#ff7e5f,#feb47b)

Gunakan Radius Sempadan: 50% untuk menghidupkan imej lebar dan ketinggian yang sama ke dalam bulatan, menggabungkan objek-sesuai dan aspek nisbah untuk memastikan bentuk dan penanaman, dan menambah sempadan, bayang-bayang dan gaya lain untuk meningkatkan kesan visual.

Gunakan jurang, jurang atau atribut jurang lajur untuk membuat jarak antara item grid dalam susun atur cssgrid. GAP adalah atribut singkatan untuk menetapkan jarak baris lajur, yang boleh menerima satu atau dua nilai panjang. Gap baris dan jurang lajur secara individu mengawal jarak antara baris dan lajur, dan unit sokongan seperti PX, REM, dan %.
