Kami mempunyai banyak jenis carta yang terkenal: bar, donat, garis, pai, anda namakannya. Semua perpustakaan carta popular menyokong ini. Kemudian ada jenis carta yang tidak mempunyai nama. Lihat carta Dreamt-up ini dengan dataran yang disusun (bersarang) yang dapat membantu menggambarkan saiz relatif, atau bagaimana nilai yang berbeza dibandingkan dengan satu sama lain:
Apa yang kita buat
Tanpa sebarang interaktiviti, mewujudkan reka bentuk ini agak mudah. Salah satu cara untuk melakukannya adalah untuk menyusun unsur-unsur (misalnya SVG
Tetapi perkara menjadi lebih rumit apabila kita memperkenalkan beberapa interaktiviti. Inilah caranya: Apabila kita menggerakkan tetikus kita ke atas salah satu bentuk, kita mahu yang lain memudar dan bergerak.
Kami akan mencipta bentuk yang tidak teratur ini menggunakan segi empat tepat dan topeng - literal
Sekarang, sebelum kita mula, anda mungkin tertanya -tanya jika alternatif yang lebih baik untuk SVG menggunakan bentuk tersuai. Itu pasti kemungkinan! Tetapi melukis bentuk dengan
Sebagai contoh, inilah caranya kita perlu mewakili bentuk biru terbesar menggunakan
<svg viewbox="0 0 320 320" width="320" height="320"> <path d="M320 0H0V56H264V320H320V0Z" fill="#264653"></path> </svg>
Jika 0H0V56 ... tidak masuk akal kepada anda, lihat "Sintaks Laluan SVG: Panduan Illustrated" untuk penjelasan yang menyeluruh mengenai sintaks.
Asas -asas carta
Memandangkan set data seperti ini:
Taipkan DataseTeNtry = { Label: String; Nilai: Nombor; }; taip dataset = dataseTentry []; const rawdataset: dataset = [ {label: 'buruk', nilai: 1231}, {label: 'permulaan', nilai: 6321}, {label: 'membangun', nilai: 10028}, {label: 'dicapai', nilai: 12123}, {label: 'contoh', nilai: 2120} ];
... Kami mahu berakhir dengan SVG seperti ini:
<svg viewbox="0 0 320 320" width="320" height="320"> <rect width="320" ketinggian="320" y="0" fill="..."> </rect> <rect width="264" ketinggian="264" y="56" fill="..."> </rect> <rect width="167" ketinggian="167" y="153" fill="..."> </rect> <rect width="56" ketinggian="56" y="264" fill="..."> </rect> <rect width="32" ketinggian="32" y="288" fill="..."> </rect> </svg>
Menentukan nilai tertinggi
Ia akan menjadi jelas dalam seketika mengapa kita memerlukan nilai tertinggi. Kita boleh menggunakan math.max () untuk mendapatkannya. Ia menerima sejumlah argumen dan mengembalikan nilai tertinggi dalam satu set.
const datasethighestvalue: nombor = math.max ( ... rawDataset.map ((entri: dataseTentry) => entry.value) );
Oleh kerana kita mempunyai dataset kecil, kita hanya dapat memberitahu bahawa kita akan mendapat 12123.
Mengira dimensi segi empat tepat
Jika kita melihat reka bentuk, segi empat tepat yang mewakili nilai tertinggi (12123) merangkumi seluruh kawasan carta.
Kami sewenang -wenangnya memilih 320 untuk dimensi SVG. Oleh kerana segi empat tepat kami adalah dataran, lebar dan ketinggian adalah sama. Bagaimana kita boleh membuat 12123 sama dengan 320? Bagaimana dengan nilai "istimewa" yang kurang? Berapa besar segi empat tepat 6321?
Ditanya cara lain, bagaimana kita memetakan nombor dari satu julat ([0, 12123]) kepada yang lain ([0, 320])? Atau, dalam istilah matematik yang lebih banyak, bagaimanakah kita skala pembolehubah kepada selang [A, B]?
Untuk tujuan kami, kami akan melaksanakan fungsi seperti ini:
const remapvalue = ( Nilai: Nombor, Frommin: Nombor, Frommax: Nombor, Tomin: Nombor, Tomax: Nombor ): nombor => { pulangan ((nilai - darimin) / (dariMax - Frommin)) * (Tomax - Tomin) Tomin; }; remapvalue (1231, 0, 12123, 0, 320); // 32 remapvalue (6321, 0, 12123, 0, 320); // 167 remapvalue (12123, 0, 12123, 0, 320); // 320
Oleh kerana kami memetakan nilai ke julat yang sama dalam kod kami, bukannya lulus minimum dan maksimum berulang kali, kami boleh membuat fungsi pembungkus:
const valueremapper = ( Frommin: Nombor, Frommax: Nombor, Tomin: Nombor, Tomax: Nombor ) => { kembali (nilai: nombor): nombor => { kembali remapvalue (nilai, darimin, darimax, tomin, tomax); }; }; const remapdatasetvaluetosvgdimension = valueremapper ( 0, DataSethestValue, 0, svgdimension );
Kita boleh menggunakannya seperti ini:
remapdatasetvaluetosvgdimension (1231); // 32 remapdatasetvaluetosvgdimension (6321); // 167 remapdatasetvaluetosvgdimension (12123); // 320
Membuat dan memasukkan elemen DOM
Apa yang tersisa berkaitan dengan manipulasi DOM. Kita perlu membuat
Atas ialah kandungan terperinci Cara membuat carta animasi dataran bersarang menggunakan topeng. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Apa yang kelihatan seperti menyelesaikan masalah salah satu daripada isu -isu yang mustahil yang ternyata menjadi sesuatu yang tidak pernah anda fikirkan.

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordetailedanimationseSseSeSs, whileCstransitionShandlesImplestateShanges.usecsstransitionsforhovereffectsLikeButtonColorchanges, dan@keyframesforintricateanimation.

Saya tahu, saya tahu: terdapat satu tan pilihan sistem pengurusan kandungan yang tersedia, dan sementara saya telah menguji beberapa, tidak ada yang benar -benar menjadi satu, y ' tahu? Model harga pelik, penyesuaian yang sukar, sesetengahnya akhirnya menjadi keseluruhan &

Menghubungkan fail CSS ke HTML boleh dicapai dengan menggunakan unsur -unsur dalam sebahagian HTML. 1) Gunakan tag untuk menghubungkan fail CSS tempatan. 2) Pelbagai fail CSS boleh dilaksanakan dengan menambahkan beberapa tag. 3) Fail CSS luaran menggunakan pautan URL mutlak, seperti. 4) Pastikan penggunaan laluan fail yang betul dan pesanan pemuatan fail CSS, dan mengoptimumkan prestasi boleh menggunakan preprocessor CSS untuk menggabungkan fail.

Memilih Flexbox atau Grid bergantung kepada keperluan susun atur: 1) Flexbox sesuai untuk susun atur satu dimensi, seperti bar navigasi; 2) Grid sesuai untuk susun atur dua dimensi, seperti susun atur majalah. Kedua -duanya boleh digunakan dalam projek untuk meningkatkan kesan susun atur.

Cara terbaik untuk memasukkan fail CSS adalah menggunakan tag untuk memperkenalkan fail CSS luaran di bahagian HTML. 1. Gunakan tag untuk memperkenalkan fail CSS luaran, seperti. 2. Untuk pelarasan kecil, css sebaris boleh digunakan, tetapi harus digunakan dengan berhati -hati. 3. Projek besar boleh menggunakan preprocessors CSS seperti SASS atau kurang untuk mengimport fail CSS lain melalui @import. 4. Untuk prestasi, fail CSS harus digabungkan dan CDN harus digunakan, dan dimampatkan menggunakan alat seperti CSSNANO.

Ya, youdyhouldlearnbothflexboxandgrid.1) flexboxisidealforone-dimensi, flexiblelayoutslikenavigasiMenus.2)

Apa yang kelihatan seperti refactor kod anda sendiri? John Rhea memisahkan animasi CSS lama yang dia tulis dan berjalan melalui proses pemikiran mengoptimumkannya.


Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
