Bagaimana Saya Membuat Sistem Ikon Daripada Siri Custom CSS
Buat atribut tersuai CSS ke dalam sistem ikon
SVG tidak diragukan lagi format terbaik untuk ikon laman web. Ia menyediakan ikon yang jelas tanpa mengira ketumpatan piksel skrin;
Terdapat banyak cara untuk memasukkan SVG di laman web, dan setiap teknologi mempunyai kelebihan dan kekurangannya sendiri. Saya telah menggunakan fungsi SASS untuk mengimport ikon secara langsung di CSS saya sejak beberapa tahun kebelakangan ini, mengelakkan kekacauan dengan tag HTML saya.
Saya mempunyai senarai sass dengan semua kod sumber ikon. Setiap ikon kemudian dikodkan sebagai data URI menggunakan fungsi SASS dan disimpan dalam harta tersuai dalam akar halaman.
Pendek kata
Apa yang saya berikan di sini adalah fungsi SASS yang mewujudkan perpustakaan ikon SVG secara langsung di CSS anda.
kod sumber SVG disusun oleh fungsi SASS, yang menyandarkannya sebagai data URI, dan kemudian menyimpan ikon dalam harta tersuai CSS. Anda kemudian boleh menggunakan mana -mana ikon di mana sahaja di CSS anda seperti yang anda lakukan dengan imej luaran.
Ini adalah contoh yang diekstrak secara langsung dari kod laman web peribadi saya:
<code>.c-filters__summary h2:after { content: var(--svg-down-arrow); position: relative; top: 2px; margin-left: auto; animation: closeSummary .25s ease-out; }</code>
Demo
struktur sass
<code>/ * Semua kod sumber ikon */ $ svg-icons: ( Burger: '& lt; svg data-line = "" scss = "" viewBox = "0 ...' ); / * Ikon pengekodan fungsi sass */ @function svg ($ name) { @Return url ('Data: Image/SVG XML, #{$ Encodedsvg}'); } / * Simpan setiap ikon dalam harta tersuai */ : root { @each $ name, $ code dalam $ svg-icons { --svg- #{$ name}: #{svg ($ name)}; } } / * Tambah ikon hamburger dalam butang saya */ .menu :: selepas { Kandungan: var (-svg-burger); } <p> Teknologi ini mempunyai kelebihan dan kekurangan, jadi pastikan anda mempertimbangkan faktor -faktor ini sebelum melaksanakan penyelesaian ini dalam projek anda: </p> <h4 id="pro"> pro </h4> <ul> <li> Tiada permintaan HTTP diperlukan untuk fail SVG. </li> <li> Semua ikon disimpan di satu lokasi. </li> <li> Jika anda perlu mengemas kini ikon, anda tidak perlu melintasi setiap fail templat HTML. </li> <li> Ikon di -cache dengan CSS. </li> <li> Anda secara manual boleh mengedit kod sumber ikon secara manual. </li> <li> Ia tidak akan mencemarkan HTML anda dengan menambah tag tambahan. </li> <li> Anda masih boleh menggunakan CSS untuk menukar warna atau beberapa aspek ikon. </li> </ul> <h4 id="Kekurangan"> Kekurangan </h4> <ul> <li> Anda tidak boleh menggunakan CSS untuk menambah animasi atau mengemas kini bahagian tertentu SVG. </li> <li> Lebih banyak ikon, semakin besar fail CSS yang disusun. </li> </ul> <p> Saya terutamanya menggunakan teknik ini untuk ikon, bukan logo atau ilustrasi. SVG yang dikodkan sentiasa lebih besar daripada fail asalnya, jadi saya masih menggunakan <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174157496146935.jpg" class="lazy" alt="How I Made an Icon System Out of CSS Custom Properties "> </p></code>
Atas ialah kandungan terperinci Bagaimana Saya Membuat Sistem Ikon Daripada Siri Custom CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator
Menjana ai hentai secara percuma.

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)

Topik panas



Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Tidak kira tahap tahap anda sebagai pemaju, tugas yang kami selesaikan -sama ada besar atau kecil -membuat kesan besar dalam pertumbuhan peribadi dan profesional kami.

Ia ' s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That ' s seperti ini.

Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.
