仅当HTML内联包含SVG文件时,您的main.css文件才会对SVG的内容产生影响:
<html> <body> <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></html>
如果要将SVG保留在文件中,则需要在SVG文件中定义CSS。
您可以使用样式标签来实现:
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="50px" height="50px" viewBox="0 0 50 50"> <defs> <style type="text/css"><![CDATA[ .socIcon g { fill:red; } ]]></style> </defs> <g> <path d="M28.44......./> </g></svg>您可以使用服务器端的工具根据活动样式更新样式标签。在红宝石中,您可以使用Nokogiri实现此目的。SVG只是XML。因此,可能有许多可以实现此目的的XML库。
如果您无法执行此操作,则只需使用它们就好像它们是PNG一样。为每种样式创建一个集合,然后内联保存它们的样式。



