Menukar Warna Kawalan HTML Dilumpuhkan dalam IE8 dengan CSS
Anda telah mencuba menggunakan CSS untuk menukar warna kawalan input yang dilumpuhkan, tetapi ia nampaknya tidak berfungsi dalam IE8. Anda ingin memahami sebabnya dan mencari cara untuk mengatasi tingkah laku lalai.
CSS yang telah anda gunakan:
<code class="css">input[disabled='disabled'] { color: #666; }</code>
Berfungsi dengan baik dalam kebanyakan penyemak imbas, tetapi tidak dalam IE8. Ini kerana IE8 mempunyai gelagat khusus untuk elemen yang dilumpuhkan, di mana ia mengatasi sifat warna dengan warna kelabu lalai, disertai dengan bayang putih yang pelik.
Sebabnya ialah elemen yang dilumpuhkan dalam IE8 dianggap sebagai menjadi kawalan "tidak aktif", dan penyemak imbas menggunakan gaya tertentu kepada mereka untuk menunjukkan perkara ini. Malangnya, gaya ini termasuk warna kelabu paksa untuk teks, yang mengatasi mana-mana CSS yang anda cuba gunakan.
Satu-satunya cara untuk mengelakkan tingkah laku ini dan menukar warna kawalan yang dilumpuhkan dalam IE8 ialah menggunakan pendekatan yang berbeza . Satu penyelesaian yang mungkin adalah menggunakan :disabled pseudo-class dan bukannya atribut disabled:
<code class="css">input:disabled { color: #666; }</code>
Pseudo-class ini menyasarkan elemen yang mempunyai set atribut disabled, tetapi ia sebenarnya tidak menetapkan atribut disabled sendiri. Akibatnya, IE8 tidak lagi menganggap kawalan sebagai "tidak aktif" dan membenarkan anda mengatasi gaya lalai.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menukar Warna Kawalan HTML Dilumpuhkan dalam IE8 dengan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!