SVG <rect> 矩形

SVG 有一些预定义的形状元素,可被开发者使用和操作。


SVG 形状

SVG 有一些预定义的形状元素,可被开发者使用和操作:

  • 矩形 <rect>
  • 圆形 <circle>
  • 椭圆 <ellipse>
  • 线 <line>
  • 折线 <polyline>
  • 多边形 <polygon>
  • 路径 <path>

下面的章节会为您讲解这些元素,首先从矩形元素开始。


<rect> 标签

<rect> 标签可用来创建矩形,以及矩形的变种。

要理解它的工作原理,请把这些代码拷贝到记事本,然后保存为 "rect1.svg" 文件。把此文件放入web目录中:

  1. <?xml version="1.0" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <svg width="100%" height="100%" version="1.1"
  5. xmlns="http://www.w3.org/2000/svg">
  6. <rect width="300" height="100"
  7. style="fill:rgb(0,0,255);stroke-width:1;
  8. stroke:rgb(0,0,0)"/>
  9. </svg>
代码解释:
  • rect 元素的 width 和 height 属性可定义矩形的高度和宽度
  • style 属性用来定义 CSS 属性
  • CSS 的 fill 属性定义矩形的填充颜色(rgb 值、颜色名或者十六进制值)
  • CSS 的 stroke-width 属性定义矩形边框的宽度
  • CSS 的 stroke 属性定义矩形边框的颜色

效果如下:


让我们看一下另一个包含新属性的例子:

  1. <?xml version="1.0" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <svg width="100%" height="100%" version="1.1"
  5. xmlns="http://www.w3.org/2000/svg">
  6. <rect x="20" y="20" width="250" height="250"
  7. style="fill:blue;stroke:pink;stroke-width:5;
  8. fill-opacity:0.1;stroke-opacity:0.9"/>
  9. </svg>
例子解释:
  • x 属性定义矩形的左侧位置(例如,x="0" 定义矩形到浏览器窗口左侧的距离是 0px)
  • y 属性定义矩形的顶端位置(例如,y="0" 定义矩形到浏览器窗口顶端的距离是 0px)
  • CSS 的 fill-opacity 属性定义填充颜色透明度(合法的范围是:0 - 1)
  • CSS 的 stroke-opacity 属性定义笔触颜色的透明度(合法的范围是:0 - 1)

效果如下:


为整个元素定义透明度:

  1. <?xml version="1.0" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <svg width="100%" height="100%" version="1.1"
  5. xmlns="http://www.w3.org/2000/svg">
  6. <rect x="20" y="20" width="250" height="250"
  7. style="fill:blue;stroke:pink;stroke-width:5;
  8. opacity:0.9"/>
  9. </svg>
代码解释:

CSS 的 opacity 属性定义整个元素的透明值(合法的范围是:0 - 1)

效果如下


最后的例子,创建带有圆角的矩形:

  1. <?xml version="1.0" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <svg width="100%" height="100%" version="1.1"
  5. xmlns="http://www.w3.org/2000/svg">
  6. <rect x="20" y="20" rx="20" ry="20" width="250"
  7. height="100" style="fill:red;stroke:black;
  8. stroke-width:5;opacity:0.5"/>
  9. </svg>
代码解释:

rx 和 ry 属性可使矩形产生圆角。

效果如下: