对不起,如果这可能是基于意见的,但我希望有一个正确的答案..
应该在SVG文档中放置内联CSS样式?在我下面提供的示例中,我定义了两个样式和一个使用它们的圆.
第一个样式在defs标签内定义,第二个样式在svg标签内定义.
这两种样式都成功显示在圆圈上(至少在Chrome中他们这样做,但是没有检查其他浏览器).
我的问题是哪种方式更标准?
我认为保持样式defs可以使整个SVG更加整洁.但是,可以声称我不应该使用defs标签,因为没有人引用样式<use>
谢谢!
<svg height="100" width="100">
<defs id="someDefs">
<style id="style1">
.blue-fill {
fill : blue;
}
</style>
</defs>
<style id="style2">
.red-stroke {
stroke : red;
stroke-width : 12
}
</style>
<circle cx="50" cy="50" r="40" class="blue-fill red-stroke" />
</svg>Run Code Online (Sandbox Code Playgroud)
没关系 两种方法都不是“更标准的”。
<style>元素无论如何都不是可渲染的,因此没有必要将它们放在本<defs>节中
正如Paul LeBeau所说。
在阅读了style有关MDN的文章之后,该文章仅显示了SVG根目录下的样式示例,我更加相信将其放在<style>此处而不是在之下是正确的<defs>。
另外,由于<defs>标记确实适用于应呈现的可重用图形元素,而<style>不是可呈现的元素,因此将其保留在那里是没有意义的。