Saya ingin mengatur Opacity latar belakang div tanpa mempengaruhi elemen yang terkandung di IE 8. punya solusi apa pun dan tidak menjawab untuk mengatur gambar 1 X 1 .png dan mengatur opacity gambar itu karena saya menggunakan opacity dinamis dan admin warna dapat berubah bahwa
Saya menggunakan itu tetapi tidak bekerja di IE 8
#alpha {
filter: alpha(opacity=30);
-moz-opacity: 0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
}
dan
rgba(0,0,0,0.3)
juga.
css
internet-explorer-8
opacity
Govind Malviya
sumber
sumber
Jawaban:
The
opacity
gaya mempengaruhi seluruh elemen dan segala sesuatu di dalamnya. Jawaban yang benar untuk ini adalah dengan menggunakan warna latar belakang rgba.CSS cukup sederhana:
... dengan tiga angka pertama adalah nilai merah, hijau dan biru untuk warna latar belakang Anda, dan yang keempat adalah nilai saluran 'alfa', yang bekerja dengan cara yang sama seperti
opacity
nilainya.Lihat halaman ini untuk info lebih lanjut: http://css-tricks.com/rgba-browser-support/
Sisi negatifnya, ini tidak berfungsi di IE8 atau lebih rendah. Halaman yang saya tautkan di atas juga mencantumkan beberapa browser lain yang tidak berfungsi, tetapi semuanya sudah sangat tua sekarang; semua browser yang digunakan saat ini kecuali IE6 / 7/8 akan bekerja dengan warna rgba.
Kabar baiknya adalah Anda dapat memaksa IE untuk bekerja dengan ini juga, menggunakan peretasan yang disebut CSS3Pie . CSS3Pie menambahkan sejumlah fitur CSS3 modern ke versi IE yang lebih lama, termasuk warna latar belakang rgba.
Untuk menggunakan CSS3Pie untuk latar belakang, Anda perlu menambahkan
-pie-background
deklarasi khusus ke CSS Anda, sertabehavior
gaya PIE , sehingga lembar gaya Anda akan terlihat seperti ini:Semoga membantu.
[EDIT]
Untuk apa nilainya, seperti yang telah disebutkan orang lain, Anda dapat menggunakan
filter
gaya IE , dengangradient
kata kunci. Solusi CSS3Pie sebenarnya menggunakan teknik yang sama di belakang layar, tetapi menghilangkan kebutuhan Anda untuk bermain-main secara langsung dengan filter IE, sehingga stylesheet Anda jauh lebih bersih. (itu juga menambahkan sejumlah besar fitur bagus lainnya juga, tapi itu tidak relevan dengan diskusi ini)sumber
itu sederhana, hanya Anda yang harus memberi
& untuk IE gunakan filter ini
Anda dapat membuat filter rgba Anda dari sini http://kimili.com/journal/rgba-hsla-css-generator-for-internet-explorer/
sumber
opacity
pada elemen induk menetapkannya untuk seluruh sub pohon DOMAnda tidak dapat benar-benar mengatur opacity untuk elemen tertentu yang tidak akan mengalir ke turunan juga.
opacity
Aku takutnya bukan itu cara kerja CSS .Yang dapat Anda lakukan adalah memiliki dua elemen saudara dalam satu wadah dan menyetel pemosisian transparan:
maka Anda harus menyetel transparan
position: absolute/relative
sehingga saudara kontennya akan dirender di atasnya.rgba
dapat melakukan transparansi latar belakang dari latar belakang berwarnargba
pengaturan warna pada elemenbackground-color
tentu saja akan berfungsi, tetapi itu akan membatasi Anda untuk hanya menggunakan warna sebagai latar belakang. Tak ada gambar, aku takut. Anda tentu saja dapat menggunakan gradien CSS3 meskipun jika Anda memberikan warna berhenti gradienrgba
. Itu juga berhasil.Namun perlu diketahui bahwa
rgba
mungkin tidak didukung oleh browser yang Anda butuhkan.Fungsionalitas dialog modal bebas peringatan
Tetapi jika Anda mencari semacam masking seluruh halaman, ini biasanya dilakukan dengan menambahkan terpisah
div
dengan set gaya ini:Kemudian ketika Anda menampilkan konten itu harus lebih tinggi
z-index
. Tetapi kedua elemen ini tidak terkait dalam hal saudara kandung atau apa pun. Mereka hanya ditampilkan sebagaimana mestinya. Satu di atas yang lain.sumber
Coba atur indeks-z lebih tinggi pada elemen yang terkandung.
sumber
Bagaimana dengan pendekatan ini:
sumber
Mungkin ada jawaban yang lebih sederhana, coba tambahkan warna latar belakang yang Anda suka ke kode, seperti background-color: #fff;
sumber
Ini memengaruhi div turunan keseluruhan saat Anda menggunakan fitur opasitas dengan posisi selain absolut. Jadi cara lain untuk mencapainya adalah dengan tidak menempatkan div di dalam satu sama lain dan kemudian menggunakan posisi absolute untuk div tersebut. Jangan gunakan warna latar belakang apa pun untuk div atas.
sumber
Gunakan RGBA atau jika Anda kode hex maka ubah menjadi rgba. Tidak perlu melakukan beberapa elemen presodu css.
css ---------
ATAU
sumber