svg: menyelam mendalam ke dalam gaya dan manipulasi dengan CSS
Kelebihan utama SVG
Format Bitmap Tentukan piksel warna imej dengan piksel. Imej kecil memerlukan beribu -ribu piksel, menghasilkan saiz fail yang lebih besar walaupun selepas mampatan. Membesarkan bitmaps membawa kepada pixelation.
SVGs, yang berasaskan vektor, menentukan imej menggunakan mata, garisan, dan lengkung. Ini menghasilkan saiz fail yang lebih kecil dan skalabiliti yang lebih baik. Sebagai contoh, bulatan mudah dalam SVG mungkin berada di bawah 150 bait berbanding dengan PNG atau JPG bersamaan yang lebih besar. Di samping itu, latar belakang SVG sememangnya telus. Struktur XML juga meningkatkan kebolehcapaian dan SEO.
alat penciptaan SVG
Walaupun memahami lukisan SVG asas adalah bermanfaat, alat khusus memudahkan membuat bentuk kompleks dan menghasilkan kod:
Komersial:
menggunakan SVGs sebagai imej statik
dalam
Inlining SVGs secara langsung dalam CSS kerana imej latar belakang adalah efisien untuk ikon kecil dan boleh diguna semula, mengelakkan permintaan HTTP tambahan: alat seperti plugin Aset Postcss menyelaraskan proses ini. Imej SVG responsif
membenamkan SVG terus ke HTML menjadikannya sebahagian daripada DOM, yang membolehkan manipulasi CSS dan JavaScript:
CSS kemudian boleh menyasarkan elemen SVG tertentu: Ini membolehkan gaya dinamik menggunakan
menggabungkan pelbagai ikon ke dalam fail SVG tunggal menggunakan Gunakan Ini meningkatkan prestasi, tetapi memerlukan pengendalian yang teliti untuk keserasian silang penyemak imbas dan caching yang cekap. Teknik seperti pemuatan dan suntikan Ajax dapat menangani cabaran -cabaran ini. Leverage CSS , dan sifat untuk menggunakan kesan seperti pelekat, keratan, dan penapis visual kepada elemen SVG. Merujuk elemen SVG dalam CSS membolehkan manipulasi visual yang kompleks.
SVGs mandiri dengan interaktiviti tertanam Kesimpulan SVG, digabungkan dengan CSS, memberikan pendekatan yang kuat dan cekap kepada grafik web. Fleksibilitasnya meluas dari imej statik mudah ke animasi interaktif yang kompleks, yang menawarkan banyak kemungkinan untuk meningkatkan reka bentuk web. <img src="https://img.php.cn/" alt="CSS with SVG: Real World Usage ">
.myelement {
background-image: url("mybackground.svg");
}
.myelement {
background-image: url("mybackground.svg");
}
<svg>
kemudian gunakan CSS: .mysvgbackground {
background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 800 600" xmlns="https://www.w3.org/2000/svg"><circle cx="400" cy="300" fill="#ff0" r="50" stroke="#f00" stroke-width="5"></circle></svg>') center center no-repeat;
}
<svg xmlns="https://www.w3.org/2000/svg" width="400" height="300"></svg>
img {
display: block;
max-width: 100%;
height: auto;
}
<svg id="invader" xmlns="https://www.w3.org/2000/svg" viewBox="35.4 35.4 195.8 141.8">
<path d="..."></path>
</svg>
:hover
SVG Sprites: Pengurusan ikon yang cekap <symbol>
unsur -unsur ke ikon rujukan dalam html: #invader {
width: 200px;
height: auto;
}
#invader path {
stroke-width: 0;
fill: #080;
}
<use>
Kesan SVG pada kandungan HTML (topeng, kliping, penapis) <svg>
<defs>
<symbol id="icon-folder" viewBox="0 0 32 32">...</symbol>
</defs>
</svg>
mask
clip-path
filter
Fail SVG mandiri boleh termasuk CSS, JavaScript, dan juga bitmaps, mewujudkan grafik interaktif yang serba lengkap. Ini membolehkan pengedaran kandungan interaktif tanpa bergantung pada sumber luaran.
Atas ialah kandungan terperinci CSS dengan SVG: Penggunaan Dunia Sebenar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!