>웹 프론트엔드 >CSS 튜토리얼 >내 :visited CSS 스타일이 최신 브라우저에서 작동하지 않는 이유는 무엇입니까?

내 :visited CSS 스타일이 최신 브라우저에서 작동하지 않는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-02 00:12:12332검색

Why Doesn't My :visited CSS Style Work in Modern Browsers?

:visited CSS 스타일이 작동하지 않는 이유는 무엇입니까?

최근 CSS 악용을 방지하려는 시도에서 보안 기능이 추가되었습니다. Firefox 4, Internet Explorer 9 및 Chrome과 같은 최신 브라우저에서 구현되어 :visited 의사 클래스의 기능을 제한합니다. 이는 질문에 제공된 코드 조각이 의도한 대로 작동하지 않는 이유를 설명합니다.

코드에는 링크를 방문할 때 링크의 모양을 변경하고 글꼴 두께를 보통으로 설정하고 링크의 모양을 변경하는 규칙이 정의되어 있습니다. 색상은 검정색으로. 하지만 이 코드를 Internet Explorer나 Chrome에서 열면 링크는 방문한 후에도 굵게 유지됩니다.

방문한 링크의 글꼴 두께를 변경하면 요소의 너비에 영향을 미칠 수 있으므로 보안 문제가 발생합니다. 따라서 브라우저는 방문한 링크의 글꼴 두께를 변경하는 기능을 제한했지만 이 보안 조치를 우회하는 것을 방지하기 위해 추가 보호 기능도 구현했습니다.

이러한 보호 기능에는 다음이 포함됩니다.

  • 창 .getCompulatedStyle() 및 유사한 함수는 링크가 방문되지 않았음을 나타내는 값을 반환합니다.
  • 형제 선택기를 사용하는 인접 요소 (예: :visited 범위)는 링크가 방문되지 않은 것처럼 스타일이 지정됩니다.
  • 중첩된 링크 요소와 관련된 특정 시나리오에서는 일치하는 요소가 링크가 방문되지 않은 것처럼 렌더링될 수 있습니다.

이러한 보안 기능으로 인해 현재 이 문제에 대한 실행 가능한 해결 방법은 없습니다. :visited 의사 클래스는 잠재적인 악용을 방지하기 위해 대부분의 최신 브라우저에서 효과적으로 제한됩니다.

위 내용은 내 :visited CSS 스타일이 최신 브라우저에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.