> 웹 프론트엔드 > CSS 튜토리얼 > `` 태그 내에 포함된 SVG에 CSS 스타일을 적용할 수 있습니까?

`` 태그 내에 포함된 SVG에 CSS 스타일을 적용할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-21 18:37:16
원래의
109명이 탐색했습니다.

Can CSS Styles Be Applied to SVGs Embedded within an `` Tag?

삽입된 SVG의 CSS 스타일

태그는 간단합니다. 그러나 SVG가 태그를 사용하는 경우 이 접근 방식은 부족합니다. CSS 스타일을 내장된 SVG에 적용할 수 있습니까?

짧은 답변: 아니요

CSS 스타일은 문서 경계를 넘지 않습니다. <객체> 이 경우 태그는 포함 문서와 포함된 SVG 사이에 경계를 효과적으로 만듭니다.

대체 접근 방식

다행히 포함된 SVG에 스타일을 지정하는 대체 방법이 있습니다.

1. 프로그래밍 방식 스타일시트 삽입:

JavaScript를 사용하면 스타일시트를 내의 SVG 문서에 직접 삽입할 수 있습니다. 꼬리표. 이는 완전히 로드되었습니다.

var svgDoc = yourObjectElement.contentDocument;
var styleElement = svgDoc.createElementNS("http://www.w3.org/2000/svg", "style");
styleElement.textContent = "svg { fill: #fff }"; // Adjust as needed
svgDoc.getElementById("where-to-insert").appendChild(styleElement);
로그인 후 복사

2. 외부 스타일시트 참조:

외부 스타일시트를 참조하기 위해 요소를 삽입할 수 있습니다:

var svgDoc = yourObjectElement.contentDocument;
var linkElm = svgDoc.createElementNS("http://www.w3.org/1999/xhtml", "link");
linkElm.setAttribute("href", "my-style.css");
linkElm.setAttribute("type", "text/css");
linkElm.setAttribute("rel", "stylesheet");
svgDoc.getElementById("where-to-insert").appendChild(linkElm);
로그인 후 복사

3. CSS 가져오기(@import 규칙):

첫 번째 방법을 사용하여 스타일 요소를 삽입한 후 @import 규칙을 추가할 수 있습니다.

styleElement.textContent = "@import url(my-style.css)";
로그인 후 복사

4. 직접 SVG 스타일시트 연결:

SVG 파일 자체가 스타일시트를 직접 참조할 수 있습니다:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="my-style.css" type="text/css"?>
<svg xmlns="http://www.w3.org/2000/svg">
  ... (SVG content) ...
</svg>
로그인 후 복사

5. jquery-svg 플러그인:

jquery-svg 플러그인은 내장된 SVG에 JavaScript 및 CSS 스타일을 적용하는 대체 접근 방식을 제공합니다.

위 내용은 `` 태그 내에 포함된 SVG에 CSS 스타일을 적용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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