為什麼:visited CSS 樣式在IE 和Chrome 中保持粗體
在給定的HTML 文件中,使用者經常會遇到保持粗體的連結即使在訪問後也進行格式化。此問題出現在 Internet Explorer 和 Chrome 等瀏覽器。讓我們深入研究這個問題的根源。
仔細檢查的HTML 和CSS 程式碼是:
通常,在存取連結時,:visited 偽類別應該改變其外觀,但是在這種情況下,字體粗細保持粗體。
安全功能限制
此行為背後的罪魁禍首是 Firefox 4、Internet Explorer 9 和 Chrome 等現代瀏覽器中實施的安全措施。此限制可防止因修改存取連結的字體粗細而引起的 CSS 漏洞。
GetCompulatedStyle() 行為
在這些瀏覽器中,getCompulatedStyle() 通常傳回下列數值曾造訪連結就好像沒有造訪過一樣。但是,惡意行為者可能會透過使用 font-weight 來變更元素的寬度來利用此漏洞。因此,允許 :visited 連結的字體粗細變更可能會損害安全措施。
瀏覽器安全措施
為了阻止CSS 漏洞,瀏覽器採用了特定的安全措施:
結論
這個限制是一項安全功能,旨在防止 CSS 漏洞利用。不幸的是,沒有已知的解決方法可以修改 Internet Explorer 和 Chrome 中的 :visited font-weight。
以上是為什麼我訪問的連結在 IE 和 Chrome 中保持粗體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!