Couleur de fond par défaut de SVG de l'élément racine
J'aimerais définir une couleur de fond par défaut pour l'ensemble du document SVG, de rouge par exemple.
<svg viewBox="0 0 500 600" style="background: red">/* content */</svg>
La solution ci-dessus fonctionne, mais le fond de la propriété de l'attribut style est malheureusement pas un standard : http://www.w3.org/TR/SVG/styling.html#SVGStylingProperties, et donc il s'est retiré pendant le processus de nettoyage avec SVG Cleaner.
Est-il une autre façon de déclarer cette couleur d'arrière-plan?
- Est il n'y a probablement aussi un bug dans le SVG Cleaner? Il supprime de style en ligne blocs ainsi, même si elles sont standard: w3.org/TR/SVG/styling.html#StylingWithCSS
Vous devez vous connecter pour publier un commentaire.
SVG 1.2 Minuscule a fenêtre d'affichage de remplissage je ne suis pas sûr de la façon largement mis en œuvre cette propriété est même si, comme la plupart des navigateurs sont originaires de SVG 1.1 en ce moment. L'opéra met en œuvre, FWIW.
Plus cross-browser solution serait de coller un
<rect>
élément avec une largeur et une hauteur de 100% et fill="rouge" comme le premier enfant de la<svg>
élément, par exemple:width="10000%" height="10000%"
peut fixer. si non, puis ajouter quelques zérosTrouvé cela fonctionne dans Safari. SVG n'couleurs avec la couleur d'arrière-plan lorsqu'un élément de la boîte englobante couvre. Donc, lui donner une frontière (avc) avec un zéro pixel limites. Il remplit, le tout pour vous avec votre couleur d'arrière-plan.
<svg style='stroke-width: 0px; background-color: blue;'> </svg>
C'est la réponse de @Robert Longson, maintenant avec le code (il y avait à l'origine pas de code, il a été ajouté plus tard):
HTML:
Cette réponse utilise:
Permettez-moi de signaler une solution très simple que j'ai trouvé, qui n'est pas écrit dans les réponses précédentes. J'ai aussi voulu mettre en arrière-plan dans un SVG, mais je veux aussi que cela fonctionne en autonome fichier SVG.
Bien, cette solution est vraiment simple, en fait SVG prend en charge les balises de style, de sorte que vous pouvez faire quelque chose comme
background-color
de la<svg>
élément fera l'IE11 le rendu de la couleur d'arrière-plan également en dehors de la zone définie à l'viewBox
attribut. Cela n'a pas d'importance lors de l'utilisation dewidth
etheight
attributs bien.<svg style"...."></svg>
et<svg><style>...</style></svg>
, en supposant que le<style>
balise est au haut niveau? Si non, alors cette réponse semble juste comme l'OP solution originale, reconditionné en vertu d'une syntaxe différente. (Mais peut-être que cette solution survit SVG Cleaner, alors que<svg style="..."></svg>
ne l'est pas?)Je suis actuellement en train de travailler sur un fichier comme ceci:
Et j'ai essayé de mettre cela en
style.css
:C'est de travail sur Chrome et Firefox, mais je ne pense pas que c'est une bonne pratique. EyeOfGnome image viewer ne pas le rendre, et Inkscape utilise un espace de noms particulier pour stocker un tel contexte:
Bien, il semble que SVG élément racine n'est pas une partie de peut être peint éléments en SVG recommandations.
Donc, je vous suggère d'utiliser le "rect" solution fournie par Robert Longson parce que j'imagine que ce n'est pas un simple "hack". Il semble être le façon standard pour définir un arrière-plan avec SVG.
Une autre solution pourrait être d'utiliser
<div>
de la même taille pour envelopper le<svg>
. Après cela, vous serez en mesure d'appliquer"background-color"
, et"background-image"
qui affectera lasvg
.