用SVG制作酷炫動(dòng)態(tài)圖標(biāo)的方法?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)德保免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
一、基本圖形元素
svg有一些預(yù)定義的形狀元素:矩形
二、樣式與效果
svg元素的樣式可以寫成標(biāo)簽的屬性,也可以寫在style里面。下面是一些主要的樣式屬性:
stroke: 筆觸顏色
stroke-width:筆觸寬度
stroke-opacity:筆觸的透明度
fill:填充色,即background
fill-opacity:填充色的透明度
transform:圖形變換,類似css3 transform
svg還支持很多濾鏡效果,能做漸變、陰影、模糊、圖像混合等等。不需要了解那么多,例如要畫幾個(gè)彩色圓圈,用circle 配合fill 即可。
注意:transform 默認(rèn)以svg左上角為基點(diǎn),而不是圓心或其他中心。左上角是svg坐標(biāo)系原點(diǎn)。了解transform和坐標(biāo)系統(tǒng),可以參考 這里。
三、輔助元素
svg有幾個(gè)輔助元素:
對(duì)于上面提到的transform基點(diǎn)問題,可以通過嵌套
四、動(dòng)畫的實(shí)現(xiàn)
svg的動(dòng)畫效果是基于動(dòng)畫標(biāo)簽元素實(shí)現(xiàn)的:
svg的寫法很靈活,樣式可以寫成標(biāo)簽屬性也可以寫在style里面,動(dòng)畫標(biāo)簽可以通過xlink指定元素,也可以寫在動(dòng)畫元素的內(nèi)部。如下演示animateTransform的xlink寫法:
上例的動(dòng)畫是A到B的過渡,要形成順暢的循環(huán),至少要定義三個(gè)關(guān)鍵點(diǎn)。animateTransform支持更多更靈活的屬性設(shè)置:
values:多個(gè)關(guān)鍵點(diǎn)的值,替代from和to,例如 values="0;1;0"
keyTimes:跟values對(duì)應(yīng),各個(gè)點(diǎn)的時(shí)間點(diǎn)
calcMode:動(dòng)畫快慢方式。discrete | linear | paced | spline
keySplines:設(shè)置運(yùn)動(dòng)的貝塞爾控制點(diǎn),calcMode為spline時(shí)有效
五、代碼實(shí)例
circle畫圓,fill著色,用g標(biāo)簽包裹并定位,transform設(shè)置初始形變,animateTransform設(shè)置動(dòng)畫?,F(xiàn)在來看代碼,相信不會(huì)再是一頭霧水了:
效果圖:
也可以用js控制svg的屬性,控制svg的動(dòng)畫過程,做成能響應(yīng)點(diǎn)擊等事件的圖標(biāo)按鈕。
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)用SVG制作酷炫動(dòng)態(tài)圖標(biāo)的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。