Mengapa :dilawati Gaya CSS Kekal Tebal dalam IE dan Chrome
Dalam dokumen HTML tertentu, pengguna sering menemui pautan yang mengekalkan huruf tebalnya memformat walaupun selepas dilawati. Isu ini timbul dalam penyemak imbas seperti Internet Explorer dan Chrome. Mari kita mendalami punca masalah ini.
Kod HTML dan CSS yang diteliti ialah:
<html> <head> <style> A {font-weight: bold; color:black;} A:visited {font-weight: normal; color: black; } .Empty {font-weight: bold; color: black; } </style> </head> <body> <a href="http://mysite">click me</a> </body> </html>
Biasanya, apabila melawat pautan, pseudoclass :visited harus mengubah penampilannya, tetapi dalam kes ini, berat fon kekal tebal.
Ciri Keselamatan Sekatan
Penyebab di sebalik kelakuan ini ialah langkah keselamatan yang dilaksanakan dalam penyemak imbas moden seperti Firefox 4, Internet Explorer 9 dan Chrome. Sekatan ini menghalang eksploitasi CSS yang mungkin timbul daripada mengubah suai berat fon pautan yang dilawati.
Gelagat GetComputedStyle()
Dalam penyemak imbas ini, getComputedStyle() biasanya mengembalikan nilai untuk pautan melawati seolah-olah mereka tidak pernah dilawati. Walau bagaimanapun, pelakon berniat jahat berpotensi mengeksploitasi perkara ini dengan menukar lebar elemen menggunakan font-weight. Oleh itu, membenarkan perubahan berat fon untuk pautan :dilawati boleh menjejaskan langkah keselamatan.
Perlindungan Penyemak Imbas
Untuk menggagalkan eksploitasi CSS, penyemak imbas menggunakan perlindungan khusus:
Kesimpulan
Ini sekatan ialah ciri keselamatan yang bertujuan untuk melindungi daripada eksploitasi CSS. Malangnya, tiada penyelesaian yang diketahui untuk mengubah suai :visited font-weight dalam Internet Explorer dan Chrome.
Atas ialah kandungan terperinci Mengapa Pautan Saya Dilawati Kekal Tebal dalam IE dan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!