est-il possible de styler un fichier SVG externe avec CSS sans modifier le contenu du fichier SVG? p>
et y a-t-il un meilleur moyen d'afficher un fichier SVG externe dans HTML5? P>
code> p>
3 Réponses :
Ce n'est pas possible à l'aide d'une étiquette IMG, ce sont essentiellement similaires à des bitmaps, en ce qui concerne l'accès ou la modifier sont concernés. Vous pouvez utiliser la balise
Dang :( Quelqu'un a-t-il un lien vers pourquoi c'est le cas?
@Bradleyflood longsonr.wordpress.com / 2013/10/23 / ...
presque. Si vous pouvez intégrer votre SVG directement dans votre document HTML5 à l'aide de la balise code> SVG code>, vous pouvez le styler avec CSS, comme:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style type="text/css"> #redcircle { stroke:black; stroke-width:5; } </style> </head> <body> <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <circle id="redcircle" cx="50" cy="50" r="30" fill="red" /> </svg> </body> </html>
Il a demandé SVG externe, pas en ligne
Vrai. Mais souvent, c'est bien en sachant les alternatives les plus proches.
Les choses ont un peu changé depuis cette question. Vous pouvez utiliser un injecteur SVG pour rendre le SVG en ligne.
avec SVGinject Vous pouvez ajouter votre SVG comme ceci: P>
<img src="image/svg/3ds-max.svg" onload="SVGInject(this)" >
Cette réponse est une tentative trompeuse, car rien n'a changé qui permet de coiffer les SVG non inlinés. Cette solution utilise JavaScript sur la charge de la page pour tirer dans la SVG externe et inine le SVG dans le DOM. 9 fois sur 10, l'inlinisation du SVG en premier lieu produira des résultats plus performants lorsque vous enregistrez également un tas de demandes de réseau et / ou de travail pour le client.
@DarianMoody, mais les svg d'inlinage ne fonctionnent pas pour les pages Web dynamiques, ne supporte pas la chargement paresseuse et rend votre code source moins lisible. Nous utilisons avec succès une injection SVG pendant un moment et cela fonctionne simplement.
Je n'ai pas dit que cela ne marcherait pas, j'ai dit que cela ne fonctionnerait pas aussi pour la majorité. "L'inlinçon SVGS ne fonctionne pas pour des pages Web dynamiques", je ne suis pas sûr de ce que vous entendez par cela, désolé. Chargement paresseux - Point équitable, mais la majorité des moments où vous voudrez en ligne un SVG, la taille des octets sera relativement petite (pensez des ensembles d'icônes, des logos, etc., vous faites peut-être quelque chose où il n'est pas logique). Le code source de façon moins lisible n'est tout simplement pas un problème d'utilisateur. aussi SVG est considérablement plus lisible qu'une image binaire par exemple.