SVG之旅(一)

經(jīng)過(guò)上周的學(xué)習(xí)显晶,今天的總結(jié)分享我想把svg分成三個(gè)部分:基本元素调塌、path、動(dòng)畫头镊。

基本元素:

主要是svg畫圖形時(shí)常用到的一些 矩形 <rect>蚣驼、圓形 <circle>、橢圓 <ellipse>相艇、線 <line>颖杏、折線 <polyline>、多邊形 <polygon>坛芽,以及一些可能會(huì)用到的元素

path:

主要是基本元素中比較復(fù)雜留储,功比較多的一個(gè)元素 路徑 <path>

動(dòng)畫:

主要是5大成員<set>、<animate>咙轩、<animateColor>获讳、<animateTransform>、<animateMotion>

現(xiàn)在開始吧活喊!

首先講一下svg的環(huán)境:

環(huán)境

環(huán)境

<svg width="320" height="320"?viewbox="0 0 100 200" xmlns="http://www.w3.org/2000/svg">

……

</svg>

解釋:

1.svg標(biāo)簽表示svg容器丐膝,標(biāo)簽內(nèi)寫svg的元素、動(dòng)畫

2.width钾菊、height表示容器的尺寸

3.xmlns是命名空間的聲明尤误,svg是使用XML格式的

4.viewbox這個(gè)參數(shù)可要可不要。但是它關(guān)乎你畫的圖形是否支持縮放功能结缚。

a损晤、在一個(gè)200*300的畫布上畫出一個(gè)圓心(100, 100)半徑100的圓

b、當(dāng)我把畫布改成100*300红竭,會(huì)是什莫效果尤勋?

超出畫布的部分被隱藏了

c、如果我希望畫布改變了茵宪,圖形也能夠完全顯示最冰,有什莫辦法?

難道我要手動(dòng)去修改圓的參數(shù)稀火?

如果只有1個(gè)很簡(jiǎn)單的圖形的畫也就很好操作暖哨,但如果是一個(gè)很復(fù)雜個(gè)圖形呢?如果有很多的圖形呢凰狞?在實(shí)際項(xiàng)目中不會(huì)只有一個(gè)svg篇裁,一個(gè)svg也不會(huì)只有一個(gè)簡(jiǎn)單圖形,在實(shí)際項(xiàng)目中用這種方法的成本就很高了

那還有沒(méi)有其他的辦法呢赡若?當(dāng)然有啦!viewbox就可以解決這個(gè)問(wèn)題达布。

d、viewBox 有四個(gè)參數(shù)分別代表:最小X軸數(shù)值逾冬;最小y軸數(shù)值黍聂;svg寬度躺苦;svg高度

viewbox="0 0 200 300"

通常情況前兩個(gè)參數(shù)不用變 0 0,剛好代表了坐標(biāo)原點(diǎn)的位置产还,如果需要改變坐標(biāo)原點(diǎn)的位置匹厘,則改變前兩個(gè)參數(shù);

后兩個(gè)參數(shù)分別和svg的width height對(duì)應(yīng)


e脐区、如圖是svg 200*300集乔,viewbox="0 0 200 300"的效果,和沒(méi)有添加viewbox一樣

f坡椒、改變svg100*300, 不變viewbox="0 0 200 300"尤溜,

可以看到圖形隨著畫布的縮小而縮小了倔叼,而且是同比例的。


這是視口不變宫莱,畫布改變大小的情況丈攒;

g、不變svg200*300授霸, 改變viewbox="0 0 100 150"巡验,

這是視口改變,畫布不變的情況碘耳;

黑色表示沒(méi)有改變比例显设,綠色表示改變比例后的圖形,但是由于svg畫布的大小限制辛辨,只能顯示粉色部分捕捂。


h、總結(jié):

視口不變斗搞,畫布改變指攒,圖形隨著畫布等比例變化;

視口改變僻焚,畫布不變允悦,圖形隨著視口等比例變化;

如果不設(shè)置視口虑啤,畫布改變隙弛,圖形不變



栗子:

下面是我自己新建的一個(gè)html文件,使用svg狞山,同時(shí)使用style標(biāo)出svg容器驶鹉,這樣就能夠知道svg容器在哪里有多大了;

當(dāng)然铣墨,你也可以直接新建一個(gè)svg文件



html? svg環(huán)境
svg? svg環(huán)境



基本元素


一室埋、矩形 <rect>

width、height:矩形的寬、高

x姚淆、y:矩形的坐標(biāo)位置孕蝉,以左上角為定位,

(坐標(biāo)系的圓點(diǎn)在svg的左上角腌逢,相當(dāng)于整個(gè)svg在直角坐標(biāo)系的第四象限)

fill:填充顏色

fill-opacity: 填充顏色透明度

stroke:邊框顏色(畫筆顏色)

stroke-width:邊框?qū)挾?/p>

stroke-opacity:邊框透明度

rx降淮、ry:圓角x、y


給繪制的圖形添加css搏讶,有三種方式:

Way1:在標(biāo)簽中使用style屬性

Way2:在標(biāo)簽中使用css樣式屬性

Way3:添加css文件佳鳖,通過(guò)class類添加樣式屬性


二、圓形 <circle>

cx媒惕、cy:圓心的坐標(biāo)位置

r:半徑


三系吩、橢圓 <ellipse>

cx、cy:圓心坐標(biāo)位置

rx妒蔚、ry:半徑x穿挨、半徑y(tǒng)

四、線 <line>

? ?直線:

x1肴盏、y1:直線起點(diǎn)坐標(biāo)位置

x2科盛、y2:直線終點(diǎn)坐標(biāo)位置

????虛線:

stroke-dasharray:至少有兩個(gè)參數(shù),用空格或者逗號(hào)隔開菜皂;分別表示劃線長(zhǎng)度和空格長(zhǎng)度贞绵,如果有多個(gè)參數(shù)就表示畫線 空格 畫線 空格 ……

stroke-dashoffset:偏移,正數(shù)起點(diǎn)往左移恍飘,負(fù)數(shù)起點(diǎn)往右移


做導(dǎo)航菜單鼠標(biāo)懸浮的動(dòng)畫效果用這個(gè)虛線的可以做出很多很炫的效果但壮;

做進(jìn)度條的動(dòng)畫效果也是蠻不錯(cuò)的

主要就是stroke-dasharray、stroke-dashoffset這倆參數(shù)值的變化常侣,會(huì)是畫線和空格的長(zhǎng)度蜡饵,位置產(chǎn)生變化,從而看起來(lái)非常的帥氣胳施,哈哈

五溯祸、折線 <polyline>

points:折線每個(gè)點(diǎn)的坐標(biāo)位置,用逗號(hào)隔開每個(gè)點(diǎn)

六舞肆、多邊形 <polygon>

points:折線每個(gè)點(diǎn)的坐標(biāo)位置焦辅,用逗號(hào)隔開每個(gè)點(diǎn)

圖形是封閉的,最后一個(gè)點(diǎn)椿胯,自動(dòng)連接第一個(gè)點(diǎn)


七筷登、其他

1.文本

<text x="10" y="20" fill="pink">

? ? ?這是我的文字

?</text>

注意:文本的xy起點(diǎn)是以文字左下角為準(zhǔn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哩盲,隨后出現(xiàn)的幾起案子前方,更是在濱河造成了極大的恐慌狈醉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惠险,死亡現(xiàn)場(chǎng)離奇詭異苗傅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)班巩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門渣慕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人抱慌,你說(shuō)我怎么就攤上這事逊桦。” “怎么了抑进?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵强经,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我单匣,道長(zhǎng),這世上最難降的妖魔是什么宝穗? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任户秤,我火速辦了婚禮,結(jié)果婚禮上逮矛,老公的妹妹穿的比我還像新娘鸡号。我一直安慰自己,他們只是感情好须鼎,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布鲸伴。 她就那樣靜靜地躺著,像睡著了一般晋控。 火紅的嫁衣襯著肌膚如雪汞窗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天赡译,我揣著相機(jī)與錄音仲吏,去河邊找鬼。 笑死蝌焚,一個(gè)胖子當(dāng)著我的面吹牛裹唆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播只洒,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼许帐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了毕谴?” 一聲冷哼從身側(cè)響起成畦,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤距芬,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后羡鸥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蔑穴,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年惧浴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了存和。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡衷旅,死狀恐怖捐腿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柿顶,我是刑警寧澤茄袖,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站嘁锯,受9級(jí)特大地震影響宪祥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜家乘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一蝗羊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仁锯,春花似錦耀找、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至双炕,卻和暖如春狞悲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妇斤。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工效诅, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人趟济。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓乱投,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親顷编。 傳聞我的和親對(duì)象是個(gè)殘疾皇子戚炫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 理解SVG坐標(biāo)系和變換(第一部分)-viewport,viewBox媳纬,和preserveAspectRatio (...
    王策北閱讀 343評(píng)論 0 1
  • 第一章 HTML5 (2014年10月29日發(fā)布)新特性: 10個(gè) (1)新的語(yǔ)義標(biāo)簽 (2)增強(qiáng)型表單 (3)視...
    fastwe閱讀 942評(píng)論 0 1
  • 理解SVG坐標(biāo)系和變換(第二部分)transform (本文轉(zhuǎn)自w3cplus双肤,這里僅修正了部分個(gè)人認(rèn)為翻譯不恰當(dāng)...
    王策北閱讀 262評(píng)論 0 1
  • 使用XML描述的矢量文件W3C標(biāo)準(zhǔn)(1.1):http://www.w3.org/TR/SVG11/瀏覽器支持情況...
    沒(méi)汁帥閱讀 5,969評(píng)論 0 16
  • 面對(duì)張大施掏,那就讓自己變的更強(qiáng)大。 今天中午我和外孫女一邊吃飯茅糜,一邊觀看了七芭,安微衛(wèi)視電視臺(tái),播出的“男生女生...
    蘇筱瑜姥姥閱讀 272評(píng)論 0 1