이유:visited CSS 스타일이 IE 및 Chrome에서 굵게 유지됩니다.
특정 HTML 문서에서 사용자는 굵게 유지되는 링크를 자주 보게 됩니다. 방문한 후에도 서식을 지정합니다. 이 문제는 Internet Explorer 및 Chrome과 같은 브라우저에서 발생합니다. 이 문제의 근본 원인을 조사해 보겠습니다.
조사 중인 HTML 및 CSS 코드는 다음과 같습니다.
<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>
일반적으로 링크를 방문하면 :visited 의사 클래스의 모양이 변경되지만, 이 경우 글꼴 두께는 굵게 유지됩니다.
보안 기능 제한
이 동작의 원인은 Firefox 4, Internet Explorer 9 및 Chrome과 같은 최신 브라우저에 구현된 보안 조치입니다. 이러한 제한은 방문한 링크의 글꼴 두께 수정으로 인해 발생할 수 있는 CSS 악용을 방지합니다.
GetCompulatedStyle() 동작
이러한 브라우저에서 getCompulatedStyle()은 일반적으로 다음 값을 반환합니다. 마치 방문하지 않은 것처럼 링크를 방문했습니다. 그러나 악의적인 행위자가 글꼴 가중치를 사용하여 요소의 너비를 변경함으로써 이를 잠재적으로 악용할 수 있습니다. 따라서 :visited 링크에 대한 글꼴 두께 변경을 허용하면 보안 조치가 손상될 수 있습니다.
브라우저 보호 장치
CSS 악용을 방지하기 위해 브라우저는 다음과 같은 특정 보호 장치를 사용합니다.
결론
이러한 제한은 CSS 공격으로부터 보호하기 위한 보안 기능입니다. 안타깝게도 Internet Explorer 및 Chrome에서 :visited 글꼴 가중치를 수정하는 알려진 해결 방법은 없습니다.
위 내용은 IE 및 Chrome에서 내가 방문한 링크가 굵게 유지되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!