Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 我可以添加ID';SVG文件中的SVG元素与内联代码相同吗?_Css_Svg - Fatal编程技术网

Css 我可以添加ID';SVG文件中的SVG元素与内联代码相同吗?

Css 我可以添加ID';SVG文件中的SVG元素与内联代码相同吗?,css,svg,Css,Svg,我想用CSS来操作SVG,我刚刚了解到我可以向SVG元素添加一个ID并执行此操作,但是将SVG放入HTML中确实很麻烦。我的问题是,如果我加载带有图像标记的SVG,并将ID添加到SVG文件的代码中,ID的工作方式是否相同 您可能意识到,也可能没有意识到,CSS不能跨文档边界工作。因此,如果SVG位于单独的文件中,则不能在HTML中使用CSS对其进行样式设置。无论是还是 如果要使用CSS设置SVG的样式,有两种选择: (1) 在HTML中内联SVG,或 (2) 将CSS样式表添加到SVG文件本身。

我想用CSS来操作SVG,我刚刚了解到我可以向SVG元素添加一个ID并执行此操作,但是将SVG放入HTML中确实很麻烦。我的问题是,如果我加载带有图像标记的SVG,并将ID添加到SVG文件的代码中,ID的工作方式是否相同

您可能意识到,也可能没有意识到,CSS不能跨文档边界工作。因此,如果SVG位于单独的文件中,则不能在HTML中使用CSS对其进行样式设置。无论是
还是

如果要使用CSS设置SVG的样式,有两种选择:

(1) 在HTML中内联SVG,或

(2) 将CSS样式表添加到SVG文件本身。您可以使用
元素,也可以从SVG中引用外部样式表:

<?xml-stylesheet type="text/css" href="my_svg_styles.css" ?>


但是,如果将SVG与
背景图像一起嵌入,这样的外部引用将不起作用。有专门的隐私规则禁止这样做。从
引用的所有图像文件都必须是自包含的。

有趣的问题——我最近才开始将CSS与内联SVG(通过d3.js)结合使用,这是保持配色方案一致性和灵活性的好方法。在阅读了你的问题后,我尝试了一些使用外部文件的测试,但没有成功。根据,除非您将CSS添加到SVG文件本身,否则这可能是不可能的。我做了进一步的研究,发现这是可以做到的!必须通过
对象
标记嵌入svg-参见本教程:-我会给其他人一个机会回答这个问题,以防他们已经在使用它了。或者(3)在运行时使用javascript将CSS注入svg。