1、cycle
(1)cx cy r
(2)fill stroke stroke-width transparent
(3) style方式
2、rect
(1)width height x y
(2) rx ry
3、line
(1)x1 x2 y1 y2
(2)stroke-opacity
4、<g>标签
是一个容器标签,用来组合元素的
(1)只对于所有图形共有的属性起作用,例如stroke fill等属性
(2)但是对于各个图形特有的属性,<g>标签不能使用,但是可以使用transform:tanslate(0,0)来实现平移
<g transform="translate(0,0)" stroke-width="5" stroke="red">
<circle r="40" fill="transparent"></circle>
<circle r="30" fill="transparent"></circle>
<circle r="20" fill="transparent"></circle>
</g>
5、<text>标签
在svg中添加文本
(1)x y text-anchor
6、<image>标签
(1)x y widht height
(2)xlink:href
7、创建SVG标签
var svgNS='http://www.w3.org/2000/svg'
var oSVG=document.createElementNS(svgNS,'svg');
oSVG.setAttribute('xmls',svgNS);
oSVG.setAttribute('width':100%);
oSVG.setAttribute('height':100%);
var parent=document.getElementById('');
parent.appendChild(oSvg);
8、一个创建SVG标签封装
var svgNS='http://www.w3.org/2000/svg'
var oSVG=document.getElementById("svgContent");
function createTag(tag,objectAttributes){
var tag=document.createElementNS(svgNS,tag);
for(var key in objectAttributes){
// tag[key]=objectAttributes[key];
tag.setAttribute(key,objectAttributes[key])
}
return tag;
}
var svg=createTag('svg',{
"xmlns":"svgNS",
"width":"100%",
"height":"100%"
});
var g=createTag('g',{
"style":"cursor:pointer"
})
var line1=createTag('line',{
"x1":"100",
"y1":"100",
"x2":"390",
"y2":"200",
"stroke":"#ACD2DE"
})
var line2=createTag('line',{
"x1":"100",
"y1":"100",
"x2":"390",
"y2":"200",
"stroke":"transparent",
"stroke-width":"6",
})
var rect=createTag('rect',{
"x":"235",
"y":"140",
"width":"20",
"height":"20",
"fill":"#999",
"rx":"5"
})
var text=createTag("text",{
"x":"245",
"y":"157",
"fill":"white",
"font-size":"20",
"text-anchor":"middle"
})
oSVG.appendChild(svg);
svg.appendChild(g);
text.innerHTML="?";
g.appendChild(line1);
g.appendChild(line2);
g.appendChild(rect);
g.appendChild(text);
9、折线
polyline:折线
point: 空格(逗号)来隔开坐标点
10、路径标签
path 通过绘制坐标点形成一个想要的图形,
-d属性
M L H V A Z
C S Q T
M(起点位置,如果在路径中重新设置一个,则有一个新的起点)
L(终点位置,如果在路径中重新设置一个 ,则会继续延伸)
Z(闭合位置,如果出现在一个有M L构成路径中,则Z前面的路径会闭合)
H(水平绘制,例如M50 100H200,H只用写一个坐标值,因为水平绘制Y坐标肯定是已知的。V同理)
如果换成小写,就是相对之前操作点的相对坐标。
A(绘制一段弧形
x半径:
Y半径:
角度:
弧长:(0小弧,1大弧)
方向:(0逆时针,1顺时针)
终点X坐标:
终点Y坐标:
)