freeCodeCamp/guide/chinese/svg/shapes/index.md

81 lines
2.3 KiB
Markdown
Raw Normal View History

---
title: SVG Shapes
localeTitle: SVG形状
---
## SVG形状
可以使用SVG绘图创建多个形状。 SVG绘图可以使用和组合七种形状路径矩形圆形椭圆形直线折线和多边形。
### 路径
`path`元素是最常见的通常由用于导出SVG代码的程序生成。
```svg
<path d="M2 1 h1 v1 h1 v1 h-1 v1 h-1 v-1 h-1 v-1 h1 z" />
```
上面的示例`path`在SVG绘图中使用时将生成“加”符号+)。 SVG `path`元素不是手动构建的而是通过可以操作矢量图形的设计程序生成的例如Illustrator或Inkscape。
### 长方形
矩形元素`rect`在屏幕上绘制一个矩形,它接受六个属性。
```svg
<rect x="0" y="0" width="100" height="50" rx="10" ry="10" />
```
`x`和`y`指定矩形左上角的位置, `width`和`height`指定矩形的大小。 `rx`和`ry`指定矩形角的半径类似于CSS border-radius属性。
### 圈
圆元素`circle`接受三个属性。
```svg
<circle cx="100" cy="100" r="50" />
```
`cx`和`cy`指定圆心的位置, `r`指定圆的半径(大小)。
### 椭圆
椭圆元素`ellipse`与`circle`元素类似,只是半径被分成两个属性。
```svg
<ellipse cx="100" cy="100" rx="50" ry="20" />
```
同样, `cx`和`cy`指定椭圆中心的位置,现在`rx`和`ry`指定椭圆的水平和垂直半径。较大的`rx`将给出“胖”椭圆,而较大的`ry`将给出更细的椭圆。如果`rx`和`ry`相等,它将形成一个圆。
### 线
`line`元素很简单,并且接受四个属性。
```svg
<line x1="0" x2="100" y1="50" y2="70" />
```
`x1`和`y1`属性指定行的第一个点, `x2`和`y2`属性指定行的第二个点。
### 折线
`polyline`是一系列连接的直线,在单个属性中指定。
```svg
<polyline points="0 100, 50 70, 60 40, 20 0" />
```
`points`属性指定一个点列表,每个点用逗号分隔。
### 多边形
`polygon`元素也是一系列连接的直线,但在这种情况下,最后一行将自动重新连接到初始点。
```svg
<polygon points="0 100, 50 70, 60 40, 20 0" />
```
此示例将绘制与上面的`polyline`相同的形状,但它将绘制一条额外的线以“关闭”一系列线条。
## 更多信息
MDN文档 [MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Basic_Shapes)