SVG基礎知識

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)來實現(xiàn)平移

<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、創(chuàng)建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、一個創(chuàng)建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(終點位置,如果在路徑中重新設置一個 ,則會繼續(xù)延伸)
Z(閉合位置,如果出現(xiàn)在一個有M L構成路徑中,則Z前面的路徑會閉合)
H(水平繪制,例如M50 100H200,H只用寫一個坐標值,因為水平繪制Y坐標肯定是已知的。V同理)
如果換成小寫,就是相對之前操作點的相對坐標。
A(繪制一段弧形
x半徑:
Y半徑:
角度:
弧長:(0小弧,1大弧)
方向:(0逆時針,1順時針)
終點X坐標:
終點Y坐標:

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 一.什么是SVG? SVG 指的是可伸縮矢量圖形 (Scalable Vector Graphics),它用來定義...
    nightZing閱讀 17,563評論 11 62
  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標簽 ②:HTML5 ...
    GreenHand1閱讀 4,883評論 2 32
  • 一:什么是SVG? 對于SVG的定義如下: ①:SVG 指的是可伸縮矢量圖形 (Scalable Vector G...
    GreenHand1閱讀 918評論 0 1
  • 轉載請聲明 原文鏈接 關注公眾號獲取更多資訊 這篇文章主要總結H5的一些新增的功能以及一些基礎歸納,這里只是一個提...
    前端進階之旅閱讀 9,229評論 22 225
  • 一、什么是SVG? SVG指可伸縮矢量圖形(Scalable Vector Graphics); SVG用來定義用...
    清心挽風閱讀 1,491評論 1 3

友情鏈接更多精彩內(nèi)容