<line>
<line>
標籤用來建立線條。html
屬性 | 含義 |
---|---|
x1 | 屬性在 x 軸定義線條的開始 |
y1 | 屬性在 y 軸定義線條的開始 |
x2 | 屬性在 x 軸定義線條的結束 |
y2 | 屬性在 y 軸定義線條的結束 |
<polyline>
<polyline>
標籤用來建立僅包含直線的形狀。瀏覽器
屬性 | 含義 |
---|---|
points |
指定了每一個端點的座標,橫座標與縱座標之間與逗號分隔,點與點之間用空格分隔 |
<svg width="100" height="50"> <polyline stroke="red" fill="black" stroke-width="2" points="0,0 10,10 20,10 100,50"/> </svg>
<circle>
屬性 | 含義 |
---|---|
cx |
圓心x 軸座標 |
cy |
圓心y 軸座標 |
r |
半徑 |
<svg width="100" height="50"> <circle cx="50" cy="25" r="25" /> </svg>
<rect>
屬性 | 含義 |
---|---|
x |
左上角x 軸座標,默認值爲0 |
y |
左上角y 軸座標,默認值爲0 |
width |
寬 |
height |
高 |
rx |
圓角弧度 |
ry |
圓角弧度 |
<svg width="100" height="50"> <rect width="100" height="50" rx="10" ry="20"/> </svg>
<ellipse>
<ellipse>
標籤可用來建立橢圓。橢圓與圓很類似。不一樣之處在於橢圓有不一樣的 x
和 y
半徑,而圓的 x
和 y
半徑是相同的。dom
屬性 | 含義 |
---|---|
cx |
圓心x 軸座標 |
cy |
圓心y 軸座標 |
rx |
水平半徑 |
ry |
垂直半徑 |
<svg width="100" height="50"> <ellipse cx="50" cy="25" rx="50" ry="25"/> </svg>
<path>
<path>
標籤用來定義路徑。MDN 詳解svg
屬性 | 含義 |
---|---|
d |
表示繪製順序,它的值是一個長字符串,每一個字母表示一個繪製動做,後面跟着座標。 |
支持繪製的動做包括:動畫
https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/durl
!> 註釋:以上全部命令均容許小寫字母。大寫表示絕對定位,小寫表示相對定位。spa
<svg width="100" height="50"> <path d="M 0 0 H 10 V 10 H 20 V 20 L 0 10 0 20 C 100,0 " stroke="red"/> </svg> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> <path fill="none" stroke="red" d="M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 z" /> </svg>
<text>
屬性 | 含義 |
---|---|
x |
文本起始橫座標 |
y |
文本起始縱座標 |
<text>
元素能夠經過<tspan>
元素來分組成多行來顯示。每一個 tspan
元素能夠定義本身獨特的格式和位置。code
!> 文字的樣式能夠用class或style屬性指定。orm
<svg width="200" height="50" xmlns:xlink="https://www.w3.org/1999/xlink"> <text x="0" y="25"> <tspan>hello svg</tspan> <tspan x="10" y="40">多行文本</tspan> <a xlink:href="www.baidu.com" target="_blank"> <text x="0" y="15" fill="red">連接文本</text> </a> </text> <circle cx="100" cy="25" r="25" fill="#ff5e5e1a" /> <text x="100" y="25" fill="red" style="dominant-baseline:middle;text-anchor:middle;">居中</text> </svg>
xmlns:xlink=""這一句引入了xlink命名空間,以支持連接元素屬性定義。
xlink:href和html中的a連接相似,只是多了xlink的命名空間前綴,用來表示連接的目的地址。
<use>
use元素在SVG文檔內取得目標節點,並在別的地方複製它們。它的效果等同於這些節點被深克隆到一個不可見的DOM中,而後將其粘貼到use元素的位置,很像HTML5中的克隆模板元素。由於克隆的節點是不可見的,因此當使用CSS樣式化一個use元素以及它的隱藏的後代元素的時候,必須當心注意。隱藏的、克隆的DOM不能保證繼承CSS屬性,除非你明文設置使用CSS繼承。
出於安全緣由,一些瀏覽器可能在use元素上應用同源策略,還有可能拒絕載入xlink:href屬性內的跨源URI。
屬性 | 含義 |
---|---|
x |
左上角橫座標 |
y |
左上角縱座標 |
width |
區域寬 |
height |
區域高 |
xlink:href |
引入複製節點 |
<svg width="100" height="50"> <text id="useText" x="0" y="10">hello svg</text> <use xlink:href="#useText" x="0" y="20"/> </svg>
<polygon>
屬性 | 含義 |
---|---|
points |
定義多邊形每一個角的x 和y 座標, x 和y 用, 分割,座標之間用空格分割 |
<svg width="100" height="50"> <polygon points="50,0 0,50 100,50"/> </svg>
<g>
<g>
標籤用於將多個形狀組成一個組(group),方便複用和管理。
<svg width="300" height="100"> <g id="myCircle"> <text x="25" y="20">圓形</text> <circle cx="50" cy="50" r="20"/> </g> <use href="#myCircle" x="100" y="0" fill="blue" /> <use href="#myCircle" x="200" y="0" fill="white" stroke="blue" /> </svg>
<defs>
<defs>
標籤用於自定義形狀,它內部的代碼不會顯示,僅供引用。
<svg width="300" height="100"> <defs> <g id="myCircle"> <text x="25" y="20">圓形</text> <circle cx="50" cy="50" r="20"/> </g> </defs> <use href="#myCircle" x="0" y="0" /> <use href="#myCircle" x="100" y="0" fill="blue" /> <use href="#myCircle" x="200" y="0" fill="white" stroke="blue" /> </svg>
<pattern>
<pattern>
標籤用於自定義一個形狀,該形狀能夠被引用來平鋪一個區域。
<svg width="500" height="500"> <defs> <pattern id="dots" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse"> <circle fill="#bee9e8" cx="50" cy="50" r="35" /> </pattern> </defs> <rect x="0" y="0" width="100%" height="100%" fill="url(#dots)" /> </svg>
上面代碼中,<pattern>
標籤將一個圓形定義爲dots模式。patternUnits="userSpaceOnUse"表示
<image>
標籤用於插入圖片文件。
屬性 | 含義 |
---|---|
xlink:href |
文件來源 |
width |
寬 |
height |
高 |
<svg width="100" height="100"> <image xlink:href="./_statics/images/logo.jpeg" width="50%" height="50%"/> </svg>
<animate>
<animate>
標籤用於產生動畫效果。
屬性 | 含義 |
---|---|
attributeName |
發生動畫效果的屬性名 |
from |
單次動畫的初始值。 |
to |
單次動畫的結束值。 |
dur |
單次動畫的持續時間。 |
repeatCount |
動畫的循環模式。 |
transform
變換<animateTransform>
<animate>
標籤對CSS
的transform
屬性不起做用,若是須要變形,就要使用<animateTransform>
標籤
<svg width="500px" height="500px"> <rect x="250" y="250" width="50" height="50" fill="#4bc0c8"> <animateTransform attributeName="transform" type="rotate" begin="0s" dur="10s" from="0 200 200" to="360 400 400" repeatCount="indefinite" /> </rect> </svg>
上面代碼中,