首頁 >web前端 >css教學 >為什麼我訪問的連結在 IE 和 Chrome 中保持粗體?

為什麼我訪問的連結在 IE 和 Chrome 中保持粗體?

Patricia Arquette
Patricia Arquette原創
2024-12-24 22:02:17722瀏覽

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

為什麼:visited CSS 樣式在IE 和Chrome 中保持粗體

在給定的HTML 文件中,使用者經常會遇到保持粗體的連結即使在訪問後也進行格式化。此問題出現在 Internet Explorer 和 Chrome 等瀏覽器。讓我們深入研究這個問題的根源。

仔細檢查的HTML 和CSS 程式碼是:

通常,在存取連結時,:visited 偽類別應該改變其外觀,但是在這種情況下,字體粗細保持粗體。

安全功能限制

此行為背後的罪魁禍首是 Firefox 4、Internet Explorer 9 和 Chrome 等現代瀏覽器中實施的安全措施。此限制可防止因修改存取連結的字體粗細而引起的 CSS 漏洞。

GetCompulatedStyle() 行為

在這些瀏覽器中,getCompulatedStyle() 通常傳回下列數值曾造訪連結就好像沒有造訪過一樣。但是,惡意行為者可能會透過使用 font-weight 來變更元素的寬度來利用此漏洞。因此,允許 :visited 連結的字體粗細變更可能會損害安全措施。

瀏覽器安全措施

為了阻止CSS 漏洞,瀏覽器採用了特定的安全措施:

  • getCompulatedStyle() 總是總是表示連結從未被
  • 兄弟選擇器(例如::visited span)將相鄰元素呈現為未訪問。
  • 在涉及嵌套連結的極少數情況下,目標元素也可能呈現為未存取。

結論

這個限制是一項安全功能,旨在防止 CSS 漏洞利用。不幸的是,沒有已知的解決方法可以修改 Internet Explorer 和 Chrome 中的 :visited font-weight。

以上是為什麼我訪問的連結在 IE 和 Chrome 中保持粗體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn