0

SVG 规范谈到了属性.. 这些是什么?可以将它们声明为与元素内联的属性吗?.. 还是只能在 CSS 样式表中声明?

4

2 回答 2

2

它们可以在内联和样式表中设置,但为了符合标准,我会选择通过外部样式表进行声明

于 2009-05-29T07:46:17.930 回答
1

两者都符合标准。使用其中一个或另一个的原因有几个。

  • 规范说,CSS 样式声明的属性总是优先于 XML 属性中声明的属性
  • 另一方面,如果使用属性,则无需解析 CSS 声明
  • 您还可以从那里声明一个外部样式表并为您的 SVG 设置样式

简而言之,样式属性是所有这些道具,它们是特定渲染结果所必需的,主要与颜色有关。

等效示例:

<svg xmlns="http://www.w3.org/2000/svg">
  <rect fill="red"/>
<svg>

<svg xmlns="http://www.w3.org/2000/svg">
  <rect style="fill: red"/>
<svg>

<svg xmlns="http://www.w3.org/2000/svg">
  <defs>
    <style type="text/css">
    #fillme { fill: red; }
    </style>
  </defs>
  <rect id="fillme"/>
<svg>

请注意,这些 CSS 声明在 CSS 规范 1 到 3 中是无效的。

干杯,

于 2009-06-24T18:55:09.307 回答