Saya menggunakan CSS untuk menunjukkan teks pemicu untuk bagian slide-down jQuery: yaitu ketika Anda mengarahkan kursor ke teks pemicu kursor berubah menjadi pointer dan opacity dari teks pemicu dikurangi untuk menunjukkan bahwa teks memiliki aksi klik .
Ini berfungsi baik di Firefox dan Chrome, tetapi di IE8 opacity tidak berubah.
Saya sudah mencoba berbagai pengaturan CSS tanpa hasil.
Sebagai contoh
HTML:
<h3 class="slidedownTrigger">This is the trigger text</h3>
CSS:
.slidedownTrigger
{
cursor: pointer;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
filter: alpha(opacity=75);
-khtml-opacity: 0.75;
-moz-opacity: 0.75;
opacity: 0.75;
}
Apa yang menghentikan IE mengubah opacity? Catatan: Saya sudah mencoba ini pada berbagai elemen yang berbeda, menukar urutan pernyataan CSS, dan hanya menggunakan yang IE sendiri. Saya juga sudah mencoba menggunakan
-ms-filter: "alpha(opacity=75)";
tetapi tidak berhasil.
Saya sudah kehabisan hal untuk mencoba mendapatkan modifikasi opacity bekerja di IE8.
Ada ide?
css
internet-explorer-8
opacity
Marcus Downing
sumber
sumber
Jawaban:
Tidak tahu apakah ini masih berlaku untuk 8, tetapi secara historis IE tidak menerapkan beberapa gaya untuk elemen yang tidak "memiliki tata letak."
lihat: http://www.satzansatz.de/cssd/onhavinglayout.html
sumber
padding-bottom: 100%
dan di IE8 opacity tidak berpengaruh sampai saya mengatur ketinggian eksplisit. IE7 tidak membutuhkan ini.Pengaturan ini (persis seperti yang saya tulis) telah membantu saya ketika saya membutuhkannya:
sumber
Anda perlu mengatur Opacity terlebih dahulu untuk browser yang memenuhi standar, kemudian berbagai versi IE. Lihat Contoh:
tetapi kode opacity ini tidak berfungsi di ie8
Perhatikan bahwa saya menghapus -moz karena Firefox adalah peramban yang Memenuhi Standar dan garis itu tidak lagi diperlukan. Juga, -khtml didepresiasi, jadi saya menghilangkan gaya itu juga.
Selanjutnya, filter IE tidak akan divalidasi ke standar w3c, jadi jika Anda ingin halaman Anda divalidasi, pisahkan stylesheet standar Anda dari stylesheet IE Anda dengan menggunakan pernyataan IE jika seperti di bawah ini:
Jika Anda memisahkan quirks yaitu, situs Anda akan memvalidasi baik-baik saja.
sumber
Rupanya transparansi alpha hanya bekerja pada elemen level blok di IE 8. Atur tampilan: blok.
sumber
Menggunakan
display: inline-block;
karya pada IE8 untuk menyelesaikan masalah ini.FWIW,
opacity: 0.75
bekerja pada semua browser yang memenuhi standar.sumber
CSS
Saya biasa menggunakan yang berikut dari CSS-Trik :
Kompas
Namun, solusi yang lebih baik adalah menggunakan mixin Opacity Compass , yang perlu Anda lakukan adalah
@include opacity(0.1);
dan akan mengatasi masalah lintas-browser untuk Anda. Anda dapat menemukan contoh di sini .sumber
di sini adalah jawaban untuk IE 8
DAN ITU BEKERJA agar alpha berfungsi di IE8 Anda harus menggunakan atribute posisi untuk elemen seperti itu
posisi: relatif atau lainnya.
http://www.codingforums.com/showthread.php?p=923730
sumber
Tidak ada jawaban di atas yang berfungsi untuk saya, jadi saya hanya memberi tag DIV saya gambar latar transparan, yang bekerja dengan baik untuk semua browser.
sumber
Kode ini berfungsi
Anda perlu menambahkan properti zoom agar berfungsi :)
sumber
Anda juga dapat menambahkan polyfil untuk mengaktifkan penggunaan opacity asli di IE6-8.
https://github.com/bladeSk/internet-explorer-opacity-polyfill
Ini adalah polyfil yang berdiri sendiri yang tidak memerlukan jQuery atau perpustakaan lain. Ada beberapa peringatan kecil yang tidak beroperasi pada style in-line dan untuk setiap style sheet yang memerlukan opacity polyfil, mereka harus mematuhi kebijakan keamanan asal-sama.
Penggunaannya sederhana
sumber