在SVG中定义颜色

时间:2010-12-17 12:13:39

标签: xml svg colors

如何在SVG文件中定义颜色?

<?xml version="1.0"?>
<svg width="704" height="702" xmlns="http://www.w3.org/2000/svg">
    <defs>
        <!-- define mycolor=red -->
    </defs> 

    <!-- use mycolor as fill -->
    <rect x="0" y="0" width="704" height="702" fill=mycolor/>
</svg>

2 个答案:

答案 0 :(得分:25)

您可以通过渐变(<linearGradient><radialGradient>)或<solidColor> element定义颜色。

在所有情况下,您都以相同的方式使用它们:

<rect x="0" y="0" width="704" height="702" fill="url(#yourcolor)"/>

渐变应该只有一个<stop>元素子元素,具有您想要的颜色。您会发现,此时使用渐变具有比solidColor更好的跨浏览器支持。

“渐变”颜色定义示例:

<linearGradient id="yourcolor">
  <stop stop-color="#991132"/>
</linearGradient>

答案 1 :(得分:15)

您可以使用带有svg的样式表,并且假设您没有指定填充属性,也会从其父元素中加入填充属性。在对代码的此更改中,颜色为红色。如果.myfill类没有给出该颜色,它将从“G”组标签继承蓝色。

<?xml version="1.0"?>
<svg width="704" height="702" xmlns="http://www.w3.org/2000/svg">

<style>
.myfill { fill:red }
</style>

    <g fill="blue">
    <rect x="0" y="0" width="704" height="702" class="myfill" />
    </g>

</svg>