Rumah >hujung hadapan web >tutorial css >Mengapa Pautan Saya Dilawati Kekal Tebal dalam IE dan Chrome?

Mengapa Pautan Saya Dilawati Kekal Tebal dalam IE dan Chrome?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 22:02:17722semak imbas

Why Do My Visited Links Remain Bold in IE and Chrome?

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:

  • getComputedStyle() sentiasa menunjukkan bahawa pautan tidak pernah dilawati.
  • Pemilih adik-beradik (cth., :rentang yang dilawati) menjadikan elemen bersebelahan sebagai tidak dilawati.
  • Dalam kes yang jarang berlaku melibatkan pautan bersarang, elemen yang disasarkan juga boleh dijadikan sebagai tidak dilawati.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn