在SVG中定义颜色

mul*_*lle 16 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>
Run Code Online (Sandbox Code Playgroud)

Eri*_*röm 27

您可以通过渐变(<linearGradient><radialGradient>)或通过<solidColor>元素定义颜色.

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

<rect x="0" y="0" width="704" height="702" fill="url(#yourcolor)"/>
Run Code Online (Sandbox Code Playgroud)

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

样本"渐变"颜色定义:

<linearGradient id="yourcolor">
  <stop stop-color="#991132"/>
</linearGradient>
Run Code Online (Sandbox Code Playgroud)


Way*_*yne 17

您可以使用带有svg的样式表,并且假设您未指定fill属性,则还会从其父元素中获取fill属性.在对代码的此更改中,颜色为红色.如果.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>
Run Code Online (Sandbox Code Playgroud)