Saya ada gambar botol dan cuba isi botol ini dengan warna tertentu
Saya jumpa koordinat isian tetapi latar belakang di dalam botol tidak diisi
.item { width: 150px; height: 150px; } #tubeLiquid { background-color: #74ccf4; clip-path: polygon(45% 19%, 41% 22%, 41% 29%, 41% 36%, 41% 43%, 41% 50%, 41% 57%, 41% 63%, 41% 70%, 41% 77%, 41% 83%, 41% 90%, 43% 93%, 50% 92%, 56% 93%, 60% 88%, 59% 81%, 60% 75%, 60% 68%, 60% 61%, 59% 55%, 59% 48%, 59% 42%, 59% 35%, 59% 29%, 58% 23%, 54% 19%); } #bottleMask{ background-color: #FFFFFF; clip-path: polygon(45% 19%, 41% 22%, 41% 29%, 41% 36%, 41% 43%, 41% 50%, 41% 57%, 41% 63%, 41% 70%, 41% 77%, 41% 83%, 41% 90%, 43% 93%, 50% 92%, 56% 93%, 60% 88%, 59% 81%, 60% 75%, 60% 68%, 60% 61%, 59% 55%, 59% 48%, 59% 42%, 59% 35%, 59% 29%, 58% 23%, 54% 19%); }
Anda tidak memerlukan tambahan
.
sebagai laluan keratan:
Oleh kerana bentuk botol, anda boleh menggunakan bulatan
Mula-mula lukis laluan keratan dan isi skala/bentuk bar kemajuan - tanpa memotong apa-apa - untuk mencari koordinat dan dimensi yang betul.
Anda kemudian boleh menggunakan laluan keratan.
元素,因为它允许我们将
Saya menggunakan set atribut
pathLength
kepada 100 untuk elemen "tubeLiquid".Kami boleh menukar nilai isian semasa dengan mudah dengan mengemas kini atribut
lines-dasharray
:Anda akan dapati banyak contoh menggunakan kaedah ini untuk melaksanakan pelbagaipengukur dinamik/bar kemajuan atau carta pai animasi, seperti"Tetapkan peratusan bar kemajuan svg dalam JavaScript"
Penyelesaian terdekat yang saya temui ialah saya tidak mengisi keseluruhan botol, tetapi anda hanya perlu menukar beberapa koordinat dalam poligon, saya tidak faham bentuk dan poligon.