Bagi siapa saja yang tertarik, untuk menerima klik melalui mengisi yang kosong: lihat SVG Mendeteksi Onclick acara di “fill: none” - yaitu kemungkinan untuk digunakan fill="none"dengan pointer-events="visible".
Fabien Snauwaert
Jawaban:
645
Anda menggunakan atribut tambahan; fill-opacity: Atribut ini mengambil angka desimal antara 0,0 dan 1,0, inklusif; di mana 0,0 benar-benar transparan.
Anda juga dapat meletakkan ini di atribut style: <rect style = "fill: # 044B94; fill-opacity: 0.4;" />
PeterVermont
Di atas, "fill-opacity" dan "stroke-opacity" harus diganti dengan "fill_opacity" dan "stroke_opacity" (yaitu, ganti tanda hubung dengan garis bawah).
mermaldad
1
@mermaldad Itu tidak benar; lihat spesifikasinya . Dalam beberapa bahasa yang tidak mengizinkan nama mengandung tanda hubung, pustaka untuk bekerja dengan SVG menggunakan nama seperti fill_opacity, tetapi dalam SVG dan CSS, itu fill-opacity.
Williham Totland
@ WillihamTotland, terima kasih atas koreksinya. Saya langsung melompat mental ke "bagaimana cara menerapkan ini menggunakan svgwrite di Python". Di sana Anda perlu mengganti tanda hubung dengan garis bawah.
mermaldad
78
Sebagai solusi yang belum sepenuhnya standar (meskipun sejalan dengan sintaks warna dalam CSS3) Anda dapat menggunakan mis fill="rgba(124,240,10,0.5)". Berfungsi dengan baik di Firefox, Opera, Chrome.
@williham: yes fill-opacity ada dalam rekomendasi SVG, dan tidak ada masalah dengan menggunakannya. Sintaks CSS3 adalah dalam Warna CSS3, yang merupakan satu langkah lagi dari menjadi rekomendasi w3c. SVG 1.1 tidak merujuk Warna CSS3 karena itu tidak tersedia pada saat itu, mungkin versi SVG yang akan datang.
Erik Dahlström
7
Hanya ingin menyebutkan, satu tempat di mana ini tampaknya tidak berfungsi adalah di Inkscape
George Mauer
2
Saya menggunakan solusi ini di Highcharts, dan itu berhasil. Itu dikonversi rgbake rgbdan secara otomatis menambahkan fill-opacityatribut ke dalamnya. Saya tidak yakin apakah ini cara kerjanya di SVG biasa juga, tapi begitulah cara kerjanya. Either way, terima kasih.
Hanna
3
Bisakah saya mendapatkan klarifikasi apa browser yang sebenarnya mendukung rgba di inline svgs?
redanimalwar
6
fill="#044B9466"
Ini adalah warna RGBA dalam notasi hex di dalam SVG, didefinisikan dengan nilai hex. Ini valid, tetapi tidak semua program dapat menampilkannya dengan benar ...
Per Agustus 2017: Warna pengisian RGBA akan ditampilkan dengan benar di Mozilla Firefox (54), Apple Safari (10.1) dan "Quick View" Mac OS X Finder. Namun Google Chrome tidak mendukung sintaks ini sampai versi 62 (sebelumnya didukung dari versi 54 dengan bendera Fitur Platform Eksperimental diaktifkan).
Apakah Anda tahu jika mereka mengubah sesuatu baru-baru ini? Saya punya aplikasi chrome yang berfungsi yang menggunakan fill: rgb (...) dan sekarang benar-benar rusak. Saya akan menghargai bantuan Anda!
Mariodiar
Pustaka Qt SVG (Qt 5.9.3) juga tidak dapat menangani warna RGBA sejauh ini baik sebagai "# 00000000" bentuk hex maupun sebagai "rgba".
bkausbk
2
Untuk membuat isi benar-benar transparan, fill="transparent"tampaknya berfungsi di browser modern. Tapi itu tidak berfungsi di Microsoft Word (untuk Mac), saya harus menggunakan fill-opacity="0".
Gunakan atribut fill-opacitydalam elemen SVG Anda.
Nilai default adalah 1, minimum adalah 0, pada langkah menggunakan nilai desimal EX: 0,5 = 50% dari alpha. Catatan: Perlu untuk menentukan fillwarna untuk diterapkan fill-opacity.
fill="none"
denganpointer-events="visible"
.Jawaban:
Anda menggunakan atribut tambahan;
fill-opacity
: Atribut ini mengambil angka desimal antara 0,0 dan 1,0, inklusif; di mana 0,0 benar-benar transparan.Sebagai contoh:
Selain itu, Anda memiliki yang berikut:
stroke-opacity
atribut untuk strokeopacity
untuk seluruh objeksumber
fill_opacity
, tetapi dalam SVG dan CSS, itufill-opacity
.Sebagai solusi yang belum sepenuhnya standar (meskipun sejalan dengan sintaks warna dalam CSS3) Anda dapat menggunakan mis
fill="rgba(124,240,10,0.5)"
. Berfungsi dengan baik di Firefox, Opera, Chrome.Ini sebuah contoh .
sumber
rgba
kergb
dan secara otomatis menambahkanfill-opacity
atribut ke dalamnya. Saya tidak yakin apakah ini cara kerjanya di SVG biasa juga, tapi begitulah cara kerjanya. Either way, terima kasih.Ini adalah warna RGBA dalam notasi hex di dalam SVG, didefinisikan dengan nilai hex. Ini valid, tetapi tidak semua program dapat menampilkannya dengan benar ...
Anda dapat menemukan dukungan browser untuk sintaks ini di sini: https://caniuse.com/#feat=css-rrggbbaa
Per Agustus 2017: Warna pengisian RGBA akan ditampilkan dengan benar di Mozilla Firefox (54), Apple Safari (10.1) dan "Quick View" Mac OS X Finder. Namun Google Chrome tidak mendukung sintaks ini sampai versi 62 (sebelumnya didukung dari versi 54 dengan bendera Fitur Platform Eksperimental diaktifkan).
sumber
Untuk membuat isi benar-benar transparan,
fill="transparent"
tampaknya berfungsi di browser modern. Tapi itu tidak berfungsi di Microsoft Word (untuk Mac), saya harus menggunakanfill-opacity="0"
.sumber
fill="none"
berfungsi, tetapifill="transparent"
tidak.Gunakan atribut
fill-opacity
dalam elemen SVG Anda.Nilai default adalah 1, minimum adalah 0, pada langkah menggunakan nilai desimal EX: 0,5 = 50% dari alpha. Catatan: Perlu untuk menentukan
fill
warna untuk diterapkanfill-opacity
.Lihat contoh saya .
Referensi .
sumber