我使用javascript构建SVG图形,然后将其插入到网页中。我想给这个动态创建的SVG分配一个样式表(来自外部.css文件),但我看到的带有样式表的SVG的示例在SVG元素之外有样式引用。
下面是构造SVG对象的javascript:
LVMGrapher.prototype.getCanvas = function()
{
if (this.canvas==null) {
var wrap = document.getElementById("svgWrap");
this.canvas = document.createElementNS(SVG_NS, "svg");
removeAllChildren(wrap);
wrap.appendChild(this.canvas);
}
return this.canvas;
}
以及以后
var svg = this.getCanvas();
var svgNS = svg.namespaceURI;
svg.setAttribute("preserveAspectRatio", "xMinYMin meet");
svg.setAttribute("viewBox", "0 0 1000 400");
svg.setAttribute("width", "100%");
后来我用图形填充SVG,现在我硬编码颜色,但我宁愿给它们类,让样式表控制颜色方案。没有什么好的理由让人必须深入我的javascript才能控制颜色。
实验应用程序位于http://www.purplefrog.com/~thoth/exp/lvm图/
如果你参考了如何从javascript合成样式表的教程,那就更好了。但是我的主要用例是来自URL的样式表。
使用Erik Dahlström的简短回答,我通过以下代码取得了成功:
function addStyle(svg)
{
var style = document.createElement("style");
style.appendChild(document.createTextNode("@import url('bacon2.css')"));
svg.appendChild(style);
}
但是,我认为我会选择斯蒂芬·托马斯引导我的解决方案。封闭文档的样式适用于由 java 脚本制造和插入的 SVG 元素。
当我提出最初的问题时,我被
合成
这样做的一些方法:
style
元素,该元素具有引用外部样式表@import
语句
link
元素(注意:必须在XHTML命名空间中创建,因此使用
createElementNS
)
xml-stylesheet
处理指令style
元素,文本内容是您为获取外部样式表我会推荐前两个选项中的任何一个。
以前,我从android的文件夹中读取了一个json文件, 但是现在为null。请纠正我 错误日志是,
当我运行pyspark program interactive shell时,可以获取pyspark脚本中的配置文件(config.ini),但当我试图使用Spark submit命令和主纱运行相同的脚本时,并且集群部署模式是集群,因为配置文件不存在,所以它给了我错误,我检查了纱日志,可以看到相同的,下面是运行pyspark作业的命令。
问题内容: 考虑以下Python(在2.x或3.x中运行): 我想把手放在里面。但: 我不想成为的显式参数。 我想和成为一个类的对象,不是很奇怪像关闭。 您能建议我如何实现这一目标吗? 现在,我最好的主意是使用线程本地存储。在我的用例中,每当我构造一个时,我已经在某个地方的方法中,并且添加没什么大不了的 对我的代码。 这使您对我愿意考虑的堕落程度有所了解。 问题答案: 在Python 2.6中,也
问题内容: 是否可以像使用文本一样使用CSS为外部.svg设置样式?我想念什么?我的标记和CSS看起来像这样: 问题答案: 如果像引用标签一样通过引用外部文件来包含svg图像,则svg图像中的元素将不包含在主文档DOM树中。他们组成了自己的树。因此,外部图像中的元素无法通过主文档中的CSS选择器进行匹配。 您可以像大多数其他元素一样设置元素的样式,例如为其设置边框。但是您不能(至少这样)访问外部图
问题内容: 我有几个SVG图形,我想通过我的外部样式表修改颜色,而不是直接在每个SVG文件中修改。我不是将图形插入行中,而是将它们存储在我的图像文件夹中并指向它们。 我以这种方式实现了它们,以使工具提示能够正常工作,并且我还将每个工具提示都包装在标签中以允许链接。 这是SVG图形的代码: 我将以下内容放入我的外部CSS文件(main.css)中: 但是,它对图形没有影响。我还尝试了.socIcon
我有一个简单的SVG在Illustrator中,它的每个部分我想有一个不同的颜色。SVG目前看起来如下所示。 HTML: