Maison > interface Web > tutoriel CSS > Les styles CSS peuvent-ils être appliqués aux SVG intégrés à l'aide de la balise `` ?

Les styles CSS peuvent-ils être appliqués aux SVG intégrés à l'aide de la balise `` ?

Mary-Kate Olsen
Libérer: 2024-12-24 22:16:15
original
704 Les gens l'ont consulté

Can CSS Styles Be Applied to SVGs Embedded Using the `` Tag?

Application de styles CSS aux SVG intégrés

Lors de l'inclusion d'un SVG directement dans un document à l'aide de l'option balise, la styliser via la feuille de style du document est possible. Cependant, la question se pose : un style similaire peut-il être appliqué aux SVG intégrés à l'aide de l'attribut balise ?

Réponse courte : Non

Les styles CSS ne peuvent pas traverser les limites du document, y compris celles entre le document principal et le SVG intégré.

Solutions alternatives

Puisqu'un balise est impliquée, vous pouvez insérer une feuille de style dans le document SVG en utilisant JavaScript. Voici un exemple (en supposant que l' soit entièrement chargé) :

var svgDoc = yourObjectElement.contentDocument;
var styleElement = svgDoc.createElementNS("http://www.w3.org/2000/svg", "style");
styleElement.textContent = "svg { fill: #fff }"; // style as desired
svgDoc.getElementById("where-to-insert").appendChild(styleElement);
Copier après la connexion

De plus, vous pouvez insérer un élément vers une feuille de style externe :

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);
Copier après la connexion

Lien direct

Vous pouvez également créer un lien vers la feuille de style directement à partir du fichier SVG, sans script :

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="my-style.css" type="text/css"?>
<svg xmlns="http://www.w3.org/2000/svg">
  ... rest of document here ...
</svg>
Copier après la connexion

Option supplémentaire : Plugin JQuery-SVG

Comme de 2015, vous pouvez appliquer des scripts JS et des styles CSS aux SVG intégrés à l'aide du plugin jquery-svg.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal