Cara menambah sempadan berganda ke bentuk SVG
Katakan seseorang meminta anda menambah sempadan berganda ke beberapa bentuk SVG geometri rawak. Atas sebab tertentu, anda tidak boleh menggunakan mana -mana editor grafik - mereka perlu dijana semasa runtime - jadi anda perlu menyelesaikannya dengan CSS atau dalam sintaks SVG.
Soalan pertama anda mungkin: Adakah terdapat apa-apa seperti gaya strok: dua kali ganda dalam SVG?
Nah, jawapannya belum lagi dan tidak begitu mudah. Tetapi saya akan mencuba untuk melihat kaedah apa yang boleh saya dapati. Saya akan meneroka kemungkinan tiga bentuk asas yang berbeza: bulatan, segi empat tepat, dan poligon. Menunjuk yang boleh menyimpan warna telus di tengah -tengah dua baris.
Amaran Spoiler: Semua hasil mempunyai kelemahan mereka, sekurang -kurangnya dengan CSS dan SVG, tetapi biarkan saya memandu anda melalui niat saya.
Penyelesaian mudah
Ini tidak berfungsi dengan pelbagai bentuk, tetapi mereka adalah penyelesaian yang paling mudah.
Garis Besar dan Box-shadow
Ciri-ciri CSS menggariskan dan bayang-bayang kotak hanya digunakan untuk kotak sempadan bentuk atau SVG, dan kedua-duanya adalah penyelesaian yang hebat hanya untuk dataran dan segi empat tepat . Mereka juga membenarkan warna fleksibel menggunakan sifat tersuai.
Ia hanya mengambil dua baris CSS dengan garis besar, ditambah pula dengan warna latar belakang kelihatan melalui bentuk.
- ? Penyelesaian hanya untuk satu bentuk.
- ✅ Kod mudah
- ✅ Sempadan lancar
- ✅ Latar Belakang Telus
Box-shadow hanya memerlukan satu baris CSS, tetapi kita perlu memastikan bahawa setiap bentuk mempunyai SVG sendiri kerana kita tidak boleh memohon box-shadow terus ke bentuk. Satu lagi perkara yang perlu dipertimbangkan ialah kita perlu menggunakan warna latar belakang dalam perisytiharan itu.
- ? Penyelesaian hanya untuk satu bentuk
- ✅ Kod mudah
- ✅ Sempadan lancar
- ? Tiada latar belakang telus
Kecerunan SVG
Kecerunan radial SVG hanya berfungsi pada lingkaran ☺️. Kita boleh secara langsung menggunakan kecerunan pada strok, tetapi lebih baik menggunakan pembolehubah kerana kita perlu mengisytiharkan warna berkali -kali dalam kod.
- ? Penyelesaian hanya untuk satu bentuk
- ✅ Kod mudah
- ? Sempadan lancar
- ? Tiada latar belakang telus
Penyelesaian untuk semua bentuk
Ini akan berfungsi dengan semua bentuk, tetapi kod itu boleh menjadi kembung atau kompleks.
Penapis: drop-shadow ()
Akhirnya, satu penyelesaian untuk semua bentuk! Kita mesti mempunyai setiap bentuk dalam
- ✅ Satu penyelesaian untuk semua bentuk
- ✅ Kod mudah
- ? Sempadan kelihatan pixelated
- ? Tiada latar belakang telus
Penapis SVG
Ini adalah penyelesaian yang sangat fleksibel. Kami boleh membuat penapis dan menambahkannya ke bentuk melalui atribut penapis SVG. Bahagian rumit di sini adalah penapis itu sendiri. Kami memerlukan tiga lukisan, satu untuk sempadan luar, satu untuk banjir latar belakang, dan yang terakhir untuk melukis bentuk di bahagian depan. Hasilnya kelihatan lebih baik daripada menggunakan drop-shadow, tetapi sempadan masih pixelated.
- ✅ Satu penyelesaian untuk semua bentuk
- ? Kod kompleks
- ? Sempadan kelihatan pixelated
- ? Tiada latar belakang telus
Menggunakan semula bentuk
Terdapat beberapa pilihan yang mungkin di sini.
Pilihan 1: Transforms
Penyelesaian ini memerlukan transformasi. Kami meletakkan satu angka ke atas yang lain, di mana angka utama mempunyai warna mengisi dan warna strok, dan angka lain tidak mengisi, strok merah, dan berskala dan diposisikan semula ke pusat. Kami menentukan bentuk kami pada
- ✅ Satu penyelesaian untuk semua bentuk
- ? Kod diduplikasi
- ✅ Sempadan lancar
- ✅ Latar Belakang Telus
Opsyen 2:
Saya dapati penyelesaian yang bijak dalam senarai mel WWW-SVG oleh Doug Schepers yang menggunakan SVG
- ✅ Satu penyelesaian untuk semua bentuk
- ? Kod diduplikasi
- ✅ Sempadan lancar
- ? Tiada latar belakang telus
Berikut adalah hasil penuh!
Hanya supaya anda mempunyai mereka semua di satu tempat. Beritahu saya, anda boleh memikirkan penyelesaian lain yang mungkin!
Atas ialah kandungan terperinci Cara menambah sempadan berganda ke bentuk SVG. 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

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

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











Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Pada minggu ini, berita platform, Chrome memperkenalkan atribut baru untuk memuatkan, spesifikasi aksesibiliti untuk pemaju web, dan gerakan BBC

Ini saya melihat elemen HTML untuk kali pertama. Saya telah menyedarinya untuk seketika, tetapi Haven ' t mengambilnya untuk putaran lagi. Ia mempunyai cukup keren dan

Beli atau Membina adalah perdebatan klasik dalam teknologi. Membina barang sendiri mungkin berasa lebih murah kerana tidak ada item baris pada bil kad kredit anda, tetapi

Pada minggu ini, roundup, sebuah bookmarklet yang berguna untuk memeriksa tipografi, menggunakan menunggu untuk mengamuk dengan cara modul JavaScript mengimport satu sama lain, ditambah Facebook ' s

Untuk sementara waktu, iTunes adalah anjing besar dalam podcasting, jadi jika anda mengaitkan "Langgan Podcast" untuk suka:

Terdapat banyak platform analisis untuk membantu anda mengesan data pelawat dan penggunaan di laman web anda. Mungkin paling penting Google Analytics, yang digunakan secara meluas
