欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的-創(chuàng)新互聯(lián)

小編給大家分享一下SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十多年品質(zhì),值得信賴!

SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的      SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的      SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的        SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的        SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的

在  loading.io 上能看到好多效果驚艷的loading圖標(biāo)。它們都是用svg寫(xiě)成的,寥寥幾行代碼,比img圖片更精細(xì)更節(jié)省體積,比純dom實(shí)現(xiàn)要更靈活和高效。另外還可以讓圖標(biāo)響應(yīng)點(diǎn)擊事件 。

怎么畫(huà)這些圓和方塊?怎么著色?怎么動(dòng)起來(lái)? 先看看svg的基礎(chǔ)知識(shí),然后將上面第一個(gè)圖標(biāo)畫(huà)出來(lái)。

一、基本圖形元素

svg有一些預(yù)定義的形狀元素:矩形<rect>,圓形<circle>,橢圓<ellipse>,直線<line>,折線<polyline>,多邊形<polygon>,路徑<path>和文本<text>。

 1 <!-- viewBox定義畫(huà)布大小 width/height定義實(shí)際大小 --> 
 2 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="300" viewBox="0 0 300 300"> 
 3  
 4     <!-- 直線 (x1,y1)與(x2,y2)為兩點(diǎn)坐標(biāo) --> 
 5     <line x1="0" y1="0" x2="250" y2="30" /> 
 6  
 7     <!-- 多邊形 通過(guò)多個(gè)點(diǎn)的坐標(biāo)形成封閉圖形 --> 
 8     <polygon points="5,5 100,100 50,200" /> 
 9 
 10     <!-- 矩形 (x,y)為左上角起始點(diǎn) -->
 11     <rect x="100" y="100" width="120" height="100" />
 12 
 13     <!-- 圓形 (cx,cy)圓心點(diǎn) r半徑 -->
 14     <circle cx="100" cy="50" r="40" stroke="black"/>
 15 
 16     <!-- 文本 (x,y)左下角坐標(biāo)  -->
 17     <text x="0" y="20" style="font-size:16px;font-weight: bold">Try SVG</text>18 19 </svg>

二、樣式與效果

svg元素的樣式可以寫(xiě)成標(biāo)簽的屬性,也可以寫(xiě)在style里面。下面是一些主要的樣式屬性:

  • stroke: 筆觸顏色

  • stroke-width:筆觸寬度

  • stroke-opacity:筆觸的透明度

  • fill:填充色,即background

  • fill-opacity:填充色的透明度

  • transform:圖形變換,類似css3 transform

svg還支持很多濾鏡效果,能做漸變、陰影、模糊、圖像混合等等。不需要了解那么多,例如要畫(huà)幾個(gè)彩色圓圈,用circle 配合fill 即可。

注意:transform 默認(rèn)以svg左上角為基點(diǎn),而不是圓心或其他中心。左上角是svg坐標(biāo)系原點(diǎn)。了解transform和坐標(biāo)系統(tǒng),可以參考 這里。

三、輔助元素

svg有幾個(gè)輔助元素:<g> <defs> <symbol> <use>。它們不代表具體形狀,而是幫助進(jìn)行圖形元素的分組管理、重復(fù)使用等。具體介紹可以參考 這里。

  • <g>  元素通常用來(lái)對(duì)相關(guān)圖形元素進(jìn)行分組,以便統(tǒng)一操作,比如旋轉(zhuǎn),縮放或者添加相關(guān)樣式等。

  • <use>  實(shí)現(xiàn)SVG現(xiàn)有圖形的重用,可以重用單個(gè)SVG圖形元素,也可以重用<g><defs>定義的組元素。

  • <defs>  內(nèi)部定義的元素不會(huì)直接顯示,可以不用事先定義樣式,而是在使用<use>實(shí)例化的時(shí)候再定義。

  • <symbol>  能夠創(chuàng)建自己的視窗,兼具<g>的分組功能和<defs>初始不可見(jiàn)的特性。

對(duì)于上面提到的transform基點(diǎn)問(wèn)題,可以通過(guò)嵌套<g>標(biāo)簽并偏移<g>的位置,進(jìn)而重設(shè)基點(diǎn)。如下畫(huà)出幾個(gè)水平排列的圓圈,并設(shè)置不同的縮放尺寸,得到SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的

 1 <svg width="80px" height="80px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"> 
 2     <g transform="translate(20 50)"> 
 3         <circle cx="0" cy="0" r="7" fill="#e15b64" transform="scale(0.99275 0.99275)" /> 
 4     </g> 
 5     <g transform="translate(40 50)"> 
 6         <circle cx="0" cy="0" r="7" fill="#f47e60" transform="scale(0.773605 0.773605)" /> 
 7     </g> 
 8     <g transform="translate(60 50)"> 
 9         <circle cx="0" cy="0" r="7" fill="#f8b26a" transform="scale(0.42525 0.42525)" />
 10     </g>
 11     <g transform="translate(80 50)">
 12         <circle cx="0" cy="0" r="7" fill="#abbd81" transform="scale(0.113418 0.113418)" />
 13     </g>
 14 </svg>

四、動(dòng)畫(huà)的實(shí)現(xiàn)

svg的動(dòng)畫(huà)效果是基于動(dòng)畫(huà)標(biāo)簽元素實(shí)現(xiàn)的:

<animate>實(shí)現(xiàn)單屬性的過(guò)渡效果,

<animateTransform>實(shí)現(xiàn)transform變換動(dòng)畫(huà)效果,

<animateMotion>實(shí)現(xiàn)路徑動(dòng)畫(huà)效果。

svg的寫(xiě)法很靈活,樣式可以寫(xiě)成標(biāo)簽屬性也可以寫(xiě)在style里面,動(dòng)畫(huà)標(biāo)簽可以通過(guò)xlink指定元素,也可以寫(xiě)在動(dòng)畫(huà)元素的內(nèi)部。如下演示animateTransform的xlink寫(xiě)法:

<svg xmlns="http://www.w3.org/2000/svg">
    <rect id="animateObject" x="20" y="20" width="50" height="50" fill="blue"></rect>
    <animateTransform 
        xlink:href="#animateObject" <!-- 指定動(dòng)畫(huà)元素 -->
        attributeName="transform"  <!-- 需要?jiǎng)赢?huà)的屬性名稱 -->
        type="scale"  <!-- 指定transform屬性 -->
        begin="0s"    <!-- 開(kāi)始時(shí)間,即延遲 -->
        dur="3s"      <!-- 動(dòng)畫(huà)時(shí)間 -->
        from="1"      <!-- 開(kāi)始值 -->
        to="2"        <!-- 結(jié)束值 -->
        repeatCount="indefinite"   <!-- 重復(fù)方式,indefinite無(wú)限重復(fù)  -->
    />
</svg>

上例的動(dòng)畫(huà)是A到B的過(guò)渡,要形成順暢的循環(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)畫(huà)快慢方式。discrete | linear | paced | spline

  • keySplines:設(shè)置運(yùn)動(dòng)的貝塞爾控制點(diǎn),calcMode為spline時(shí)有效

對(duì)svg動(dòng)畫(huà)的更詳細(xì)介紹,參考 這里 。

五、代碼實(shí)例

SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的

circle畫(huà)圓,fill著色,用g標(biāo)簽包裹并定位,transform設(shè)置初始形變,animateTransform設(shè)置動(dòng)畫(huà)。現(xiàn)在來(lái)看代碼,相信不會(huì)再是一頭霧水了:

<svg class="lds-message" width="80px" height="80px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
    <g transform="translate(20 50)">
        <circle cx="0" cy="0" r="7" fill="#e15b64" transform="scale(0.99275 0.99275)">
            <animateTransform attributeName="transform" type="scale" begin="-0.375s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
        </circle>
    </g>
    <g transform="translate(40 50)">
        <circle cx="0" cy="0" r="7" fill="#f47e60" transform="scale(0.773605 0.773605)">
            <animateTransform attributeName="transform" type="scale" begin="-0.25s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
        </circle>
    </g>
    <g transform="translate(60 50)">
        <circle cx="0" cy="0" r="7" fill="#f8b26a" transform="scale(0.42525 0.42525)">
            <animateTransform attributeName="transform" type="scale" begin="-0.125s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
        </circle>
    </g>
    <g transform="translate(80 50)">
        <circle cx="0" cy="0" r="7" fill="#abbd81" transform="scale(0.113418 0.113418)">
            <animateTransform attributeName="transform" type="scale" begin="0s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite"></animateTransform>
        </circle>
    </g>
</svg>

以上是SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:SVG動(dòng)態(tài)圖標(biāo)是怎么實(shí)現(xiàn)的-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://chinadenli.net/article28/djjocp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄企業(yè)建站、動(dòng)態(tài)網(wǎng)站靜態(tài)網(wǎng)站、品牌網(wǎng)站制作網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
国内外激情免费在线视频| 都市激情小说在线一区二区三区| 国产又粗又猛又长又黄视频| 中文文精品字幕一区二区 | 福利视频一区二区在线| 日本一区二区三区久久娇喘| 日韩欧美亚洲综合在线| 欧美精品久久一二三区| 91欧美一区二区三区成人| 日本加勒比中文在线观看| 中国美女偷拍福利视频| 精品久久av一二三区| 东京不热免费观看日本| 人人爽夜夜爽夜夜爽精品视频| 熟女一区二区三区国产| 亚洲最大福利在线观看| 风间中文字幕亚洲一区| 国产又粗又猛又大爽又黄同志| 亚洲专区中文字幕在线| 一区二区日本一区二区欧美| 少妇人妻一级片一区二区三区 | 欧美一区二区不卡专区| 亚洲精品蜜桃在线观看| 日韩人妻欧美一区二区久久| 国产欧美一区二区另类精品| 亚洲欧美日韩国产自拍| 少妇一区二区三区精品| 久热人妻中文字幕一区二区| 国产精品蜜桃久久一区二区| 国产又粗又爽又猛又黄的| 国产精品日韩精品一区| 不卡一区二区高清视频| 激情三级在线观看视频| 人妻久久这里只有精品| 香蕉网尹人综合在线观看| 国产午夜福利不卡片在线观看| 国产在线一区二区三区不卡| 99久久精品国产日本| 福利视频一区二区三区| 中国日韩一级黄色大片| 在线日韩中文字幕一区|