您的位置:

SVG属性详解

一、SVG属性CSS

CSS属性在SVG文档中具有与HTML类似的作用。可以在<style>标签或SVG元素的style属性中定义CSS样式。

SVG元素的CSS属性可用于定义元素的呈现方式,如图形的填充和轮廓。

例如:

<svg width="100" height="100">
  <rect x="10" y="10" width="80" height="80"
        style="fill:red; stroke:black; stroke-width:2px;" />
</svg>

上述代码定义了一个100x100的SVG画布,其中绘制了一个尺寸为80x80,x、y坐标为10的矩形,颜色为红色,边框为黑色,宽度为2个像素。样式属性中的各个CSS属性可分别调整图形的填充、边框颜色、线宽等各种效果。

二、SVG属性去除等比例

通常情况下,SVG元素的大小会被默认拉伸或压缩为与画布等比例。如果需要将其拉伸或压缩为不等比例,则需要使用viewBox属性。

viewBox属性定义了一个在SVG单元坐标系中的矩形区域,它会被视为一个可见区域。在SVG中,所有路径、图形、文本都是在单元坐标系中绘制的,然后根据viewBox属性的定义进行缩放、平移等变换,以适应实际显示的大小。

例如:

<svg width="200" height="200" viewBox="0 0 100 50">
  <rect x="10" y="10" width="80" height="30"
        style="fill:red; stroke:black; stroke-width:2px;" />
</svg>

上述代码中,viewBox属性的值为“0 0 100 50”,表示坐标系中左上角为(0, 0),宽为100,高为50的矩形区域。虽然画布大小为200x200,但是由于viewBox的定义,矩形实际上被缩放至画布的一半大小。

三、SVG属性viewBox

在上一节中我们已经学习了viewBox属性的作用,实际上,它在SVG中是非常重要的一个属性。

viewBox可以帮助开发者更好地理解SVG,了解如何利用单元坐标系中的图形绘制出我们想要的效果,并通过缩放、平移等变换展现出来。

例如:

<svg width="200" height="200" viewBox="0 0 1000 500">
  <line x1="0" y1="0" x2="1000" y2="500" stroke="red" stroke-width="5" />
  <line x1="0" y1="500" x2="1000" y2="0" stroke="blue" stroke-width="5" />
</svg>

上述代码绘制了一个斜叉线条,红色部分上半部分,蓝色下半部分,但是其实线条的实际绘制只有两条直线,通过viewBox的缩放和平移变换摆放到正确的位置和角度。

四、SVG属性有transform吗

transform属性定义了一个基于属性值所指定的平移、缩放、旋转等变换的转换矩阵,可以用于对SVG的任何元素进行变换。

transform属性可以包括多个值,每个值都以空格分隔,表示要应用的某种变换类型和参数,具体取决于各个变换函数的要求。

例如:

<svg width="200" height="200">
  <rect x="10" y="10" width="50" height="50"
        transform="rotate(45 35 35)" />
</svg>

上述代码定义了一个矩形,rotate函数通过调节旋转角度和旋转中心,实现对其旋转变换。

五、SVG属性

SVG元素中的属性包括基本的XML属性,如ID、class、style和XML Namespace等。

有一些特定的SVG属性也可以用于控制元素的外观或行为。

例如,fill和stroke属性用于指定元素的填充色和描边色。

 

六、SVG path属性

SVG路径属性用于定义形状和线条。它被用于<path>元素,其中的属性d描述了路径的形状。

路径的d属性值通常是一系列字符,其中包括各种线条和曲线段的命令。这些命令可以用来定义路径的起点、终点、伸展方式以及绘制线和曲线的方式。

例如:

<svg width="100" height="100">
  <path d="M10,10 L90,90" stroke="black" stroke-width="2" />
</svg>

上述代码中的d属性值是"M10,10 L90,90",表示先移动到坐标(10, 10),然后绘制一条直线到坐标(90, 90)。stroke和stroke-width属性用于设置线条颜色和宽度。

七、SVG fill属性

fill属性指定了SVG元素的填充色,可以应用于矩形、圆形、椭圆、路径等各种形状。

fill属性可使用不同的值,如纯色值、渐变值、图案值等。

例如:

<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" fill="url(#grad1)" />
  <radialGradient id="grad1">
    <stop offset="0%" stop-color="white" />
    <stop offset="100%" stop-color="black" />
  </radialGradient>
</svg>

上述代码中的fill属性值是“url(#grad1)”表示使用了ID为grad1的径向渐变样式。

八、SVG标签属性

SVG标签属性用于定义SVG元素的各种属性,如id、class、style等。

以<rect>元素为例,其属性包括x、y、width、height、rx、ry、style等。

例如:

<svg width="100" height="100">
  <rect x="10" y="10" width="80" height="50"
        style="fill:red; stroke:black; stroke-width:2px;" />
</svg>

上述代码定义一个尺寸为80x50的红色矩形,黑色描边,2像素宽。

九、SVG标签常用属性选取

常用的SVG元素有<rect>、<circle>、<line>、<text>、<polygon>等。

常用的SVG属性包括:fill、stroke、stroke-width、width、height、x、y、id等。

例如:

<svg width="200" height="200">
  <circle cx="100" cy="100" r="80" stroke="black" stroke-width="2"
          fill="yellow" />
</svg>

上述代码定义了一个半径为80的黄色圆形,黑色描边,2像素宽。