내 :hover CSS가 ``가 포함된 SVG 요소에서 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있나요?

Mary-Kate Olsen
풀어 주다: 2024-11-26 02:58:09
원래의
953명이 탐색했습니다.

Why Doesn't My :hover CSS Work on SVG Elements Embedded with ``, and How Can I Fix It?

를 통해 삽입된 SVG 요소 스타일 지정 :hover CSS 사용

제공된 코드에서 :hover CSS를 사용하여 포함된 SVG 요소의 스타일을 지정하려고 하지만 를 사용하여 참조된 그룹 내의 요소에서는 작동하지 않습니다. 요소. 이는 SVG 사양에 따라 를 통한 요소 복제로 인해 복제된 DOM 트리에 CSS 선택기를 적용할 수 없기 때문입니다.

Firefox 지원 및 해결 방법

Firefox는 를 통해 포함된 가상 요소 주소 지정을 지원하는 유일한 브라우저입니다. 벌레 구멍. 그러나 다른 브라우저에서는 그렇지 않습니다.

해결 방법은 마우스를 올리면 요소의 색상 속성이 변경됩니다. 예:

#p0 {fill:currentColor}
#use1:hover {color:green}
#use2:hover {color:red}
#use3:hover {color:blue}
로그인 후 복사

가능한 대안

목표를 달성하기 위한 또 다른 접근 방식은 JavaScript를 사용하여 마우스 호버 이벤트에서 SVG 요소를 수정하는 것입니다. 여기에는 각 그런 다음 각 그룹 내 관련 요소의 속성이나 스타일을 업데이트합니다.

올바른 솔루션 선택

Firefox 호환 CSS 해결 방법과 JavaScript 사이의 선택 기반 접근 방식은 브라우저 지원 및 프로젝트의 특정 요구 사항에 따라 다릅니다. 브라우저 호환성이 중요한 경우 JavaScript 방법을 사용하십시오. 그렇지 않은 경우 단순성과 구현 용이성을 위해 CSS 솔루션을 선택할 수 있습니다.

추가 고려 사항

삽입된 개체 내의 특정 부분에 원하는 호버 효과를 얻으려면 마우스를 올리면 각 그룹 내 특정 요소의 속성이나 스타일을 수정하기 위해 추가 JavaScript를 사용해야 할 수도 있습니다. JavaScript는 동적 요소 조작에 더 많은 유연성을 제공하므로 포함된 개체 내의 개별 요소를 대상으로 지정하고 수정할 수 있습니다.

위 내용은 내 :hover CSS가 ``가 포함된 SVG 요소에서 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿