Tengo varios gráficos SVG cuyos colores me gustaría modificar a través de mis hojas de estilo externas, no directamente dentro de cada archivo SVG. No estoy colocando los gráficos en línea, sino almacenándolos en mi carpeta de imágenes y señalándolos.
Los he implementado de esta manera para permitir que la información sobre herramientas funcione, y también los he incluido en una <a>
etiqueta para permitir un enlace.
<a href='http://youtube.com/...' target='_blank'><img class='socIcon' src='images/socYouTube.svg' title='View my videos on YouTube' alt='YouTube' /></a>
Y aquí está el código del gráfico SVG:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="stylesheets/main.css" type="text/css"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 56.69 56.69">
<g>
<path d="M28.44......./>
</g>
</svg>
Puse lo siguiente en mi archivo CSS externo (main.css):
.socIcon g {fill:red;}
Sin embargo, no tiene ningún efecto sobre el gráfico. También probé .socIcon g path {} y .socIcon path {}.
Algo no está bien, tal vez mi implementación no permite modificaciones externas de CSS o me perdí un paso. ¡Realmente agradecería su ayuda! Solo necesito la capacidad de modificar los colores del gráfico SVG a través de mi hoja de estilo externa, pero no puedo perder la información sobre herramientas y la capacidad de enlace. (Aunque puede que pueda vivir sin la información sobre herramientas). ¡Gracias!
svg { fill:red; }
o dale a tu ruta un nombre de clase. Por ejemplo, <path class="socIcon" d="M28.44 ..... />
esto debería funcionar.