国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SVG+CSS動畫實現(xiàn)動效(流光、呼吸等效果)

這篇具有很好參考價值的文章主要介紹了SVG+CSS動畫實現(xiàn)動效(流光、呼吸等效果)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

流光效果


  • 繪制流光線條
    創(chuàng)建SVG,根據(jù)UI給的背景圖,定位到圖上每條管道(即流光線條的路徑)的起始點以及拐點,繪制折線。繪制折線的時候按照下圖方框通過class分組,這幾組的光線流動是同時出發(fā)的。
    svg相關(guān)知識點:https://www.w3school.com.cn/svg/index.asp
<svg width="100%" height="100%" class="added-wrap_svg" :class="{toPause: pause}">
    // 線條光暈
    <filter id="filter1" x="-120%" y="-120%" width="400%" height="400%">
      <feOffset result="offOut" in="SourceGraphic" dx="0" dy="0"></feOffset>
      <feGaussianBlur result="blurOut" in="offOut" stdDeviation="6"></feGaussianBlur>
      <feBlend in="SourceGraphic" in2="blurOut" mode="multiply"></feBlend>
    </filter>

    // 繪制折線
    <polyline class="cleanToMarket" points="1233,976 1239,983 1267,983"/>
    <polyline class="cleanToMarket" points="1233,992 1239,999 1274,999"/>
    <polyline class="cleanToMarket" points="1226,1010 1284,1010"/>
    <polyline class="cleanToMarket" points="1233,1028 1239,1022 1274,1022"/>
    <polyline class="cleanToMarket" points="1232,1045 1239,1039 1267,1039"/>
</svg>

折線樣式

polyline{
  stroke: #E5DA40;
  fill: transparent;
  stroke-width: 2;
  stroke-linecap: round;
  animation: act 3s linear infinite;
}
  • 讓光線動起來
    上邊畫出來的是一整條長的實線,接下來我們會用到SVG的兩個屬性:stoke-dasharray和stroke-dashoffset。

stoke-dasharray:用于創(chuàng)建虛線。
stroke-dasharray = ‘10’
stroke-dasharray = ‘10, 5’
stroke-dasharray = ‘20, 10, 5’
svg流光效果,css,前端,動畫
stroke-dasharray為一個參數(shù)時: 其實是表示虛線長度和每段虛線之間的間距,
如:stroke-dasharray = ‘10’ 表示:虛線長10,間距10,然后重復(fù)虛線長10,間距10
兩個參數(shù)或者多個參數(shù)時:一個表示長度,一個表示間距,
如:stroke-dasharray = ‘10, 5’ 表示:虛線長10,間距5,然后重復(fù)虛線長10,間距5;
如:stroke-dasharray = ‘20, 10, 5’ 表示:虛線長20,間距10,虛線長5,接著是間距20,虛線10,間距5,之后開始如此循環(huán)

stroke-dashoffset:這個屬性是相對于起始點的偏移,正數(shù)偏移x值的時候,相當(dāng)于往左移動了x個長度單位,負(fù)數(shù)偏移x的時候,相當(dāng)于往右移動了x個長度單位。

感興趣的可以參考https://www.cnblogs.com/daisygogogo/p/11044353.html

這里相當(dāng)于一條管道上,只有一段虛線,然后讓這條虛線從左至右移動起來。
首先獲取到所有的折線

var char = 'http://www.w3.org/2000/svg'
var polylines = document.getElementsByTagNameNS(char, 'polyline')

每條折線,獲取到折線的長度,設(shè)置虛線,如第一組,設(shè)置虛線長80,間距為該條折線的長度,將偏移量設(shè)置為80px,虛線就會往左移動80px,這樣初始時相當(dāng)于虛線隱藏了。

然后,設(shè)置虛線移動動畫,即設(shè)置偏移量為折線的長度。

這樣,流光效果就出來了。文章來源地址http://www.zghlxwxcb.cn/news/detail-812172.html

polylines.forEach((i, index) => {
      // 獲取折線長度
      const len = i.getTotalLength()
      // 設(shè)置濾鏡
      i.style.filter = 'url(#filter1)'
      // 設(shè)置虛線和間隔
      i.style.strokeDasharray = '80,' + len
      // 設(shè)置偏移量
      i.style.strokeDashoffset = 80
      // 設(shè)置動畫名稱
      i.style.animationName = 'act' + index

      var style = document.styleSheets[0]
      // 插入動畫規(guī)則
      style.insertRule('@Keyframes act' + index + '{100% {stroke-dashoffset: ' + (-(len)) + '}}', 1)

      if (i.classList[0] === 'cleanToMarket') {
        i.style.strokeDasharray = '20,' + len
        i.style.strokeDashoffset = 20
        i.style.strokeWidth = 1
        // 動畫延遲
        i.style.animationDelay = '3s'
      }
      if (i.classList[0] === 'marketToEmpowerment') {
        i.style.strokeDasharray = '30,' + len
        i.style.strokeDashoffset = 30
        i.style.strokeWidth = 1
        i.style.animationDelay = '6s'
      }
      if (i.classList[0] === 'operatioCcenter') {
        i.style.animationDelay = '9s'
      }
      if (i.classList[0] === 'empowermentToLib') {
        i.style.strokeDasharray = '60,' + len
        i.style.strokeDashoffset = 60
        i.style.strokeWidth = 1
        i.style.animationDelay = '9s'
      }
      if (i.classList[0] === 'libToEmpowerment') {
        i.style.strokeDasharray = '60,' + len
        i.style.strokeDashoffset = 60
        i.style.strokeWidth = 1
        i.style.animationDelay = '12s'
      }
      if (i.classList[0] === 'libToService') {
        i.style.animationDelay = '12s'
      }
      if (i.classList[0] === 'serviceToApply') {
        i.style.animationDelay = '15s'
      }
 })

上下浮動


@keyframes float{
  0%{transform:translateY(0)}
  50%{transform:translateY(6px)}
  100%{transform:translateY(0)}
}

忽閃


@keyframes dataMarket {  0% {    opacity: 1;  }  50% {    opacity: 0;  }  100% {    opacity: 1;  }}

發(fā)光


@keyframes showBlur{
  0% {
    filter: blur(0px);
  }
  50% {
    filter: blur(50px);
  }
  100% {
    filter: blur(0px);
  }
}

動畫暫停


animation-play-state: paused

到了這里,關(guān)于SVG+CSS動畫實現(xiàn)動效(流光、呼吸等效果)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 開發(fā)指導(dǎo)—利用CSS動畫實現(xiàn)HarmonyOS動效(一)

    開發(fā)指導(dǎo)—利用CSS動畫實現(xiàn)HarmonyOS動效(一)

    注:本文內(nèi)容分享轉(zhuǎn)載自 HarmonyOS?Developer 官網(wǎng)文檔 CSS 是描述 HML 頁面結(jié)構(gòu)的樣式語言。所有組件均存在系統(tǒng)默認(rèn)樣式,也可在頁面 CSS 樣式文件中對組件、頁面自定義不同的樣式。請參考通用樣式了解兼容 JS 的類 Web 開發(fā)范式支持的組件樣式。 ●?邏輯像素 px(文檔中以le

    2024年02月10日
    瀏覽(23)
  • 純CSS實現(xiàn)邊框流光效果(跑馬燈效果)

    純CSS實現(xiàn)邊框流光效果(跑馬燈效果)

    首先上一個效果圖 有木有發(fā)現(xiàn)和夜晚街上的廣告牌很像,接下來讓我們看看如何使用css實現(xiàn)的吧 首先很明顯應(yīng)該使用一個盒子將文字裝起來,并且將文字進行了居中,然后我們看到這盒子的周圍圍繞了兩條光帶,那么這兩條光帶是怎么實現(xiàn)的呢? 其實這是用四個小盒子實現(xiàn)

    2024年02月07日
    瀏覽(23)
  • 【CSS】SVG圖片屬性及修改顏色

    【CSS】SVG圖片屬性及修改顏色

    最近的開發(fā)中遇到了SVG不能修改顏色的問題,以前是直接用,沒有研究過,現(xiàn)在搞個筆記記錄下 width:設(shè)置最終SVG圖片的寬度 height:設(shè)置最終SVG圖片的高度 viewbox:視區(qū),在svg上截取一塊,然后放大到整個svg圖片上,也就是上述所有最終的寬高 fill:設(shè)置顏色 舉例: 在上述的SV

    2024年04月17日
    瀏覽(47)
  • css特效:流光背景+動態(tài)邊框+滑動效果+聚集效果+小耳朵+陰影流光效果

    css特效:流光背景+動態(tài)邊框+滑動效果+聚集效果+小耳朵+陰影流光效果

    目錄 總覽 類選擇器 自定義變量 效果 三種基本樣式 確定 取消 ?刪除 流光效果 背景流光 邊框流光 ?編輯動態(tài)邊框 雙元素旋轉(zhuǎn) ?單元素旋轉(zhuǎn) 單元素移動 邊框線 ?頂部邊框線 底部邊框線 雙邊框線 ?滑動 反光滑動 ?箭頭滑動 ?中央擴展 ?文字覆蓋 橫向文字覆蓋 ?縱向文字覆

    2024年02月03日
    瀏覽(24)
  • 基于css實現(xiàn)動畫效果

    基于css實現(xiàn)動畫效果

    ????????本文將會基于css,實現(xiàn)各種動畫效果,接下來會從簡單幾個例子入手。 效果 效果展示

    2024年01月23日
    瀏覽(24)
  • 呼吸燈效果css

    呼吸燈效果css

    2024年02月15日
    瀏覽(18)
  • CSS3實現(xiàn)動畫加載效果

    CSS3實現(xiàn)動畫加載效果

    2024年02月07日
    瀏覽(97)
  • 【HTML】SVG實現(xiàn)炫酷的描邊動畫

    【HTML】SVG實現(xiàn)炫酷的描邊動畫

    今天閑來無事,看到 Antfu 大佬的個性簽名,覺得還是非常炫酷的,于是也想要搞一個自己的個性簽名用來裝飾自己的門面,不過由于手寫的簽名太丑了,遂放棄。于是嘗試?yán)斫庠恚钊胙芯看说让芊?,終于小有所成,發(fā)現(xiàn)原來是描邊動畫,于是記載如下,方便以后借鑒。

    2024年02月20日
    瀏覽(16)
  • css有哪些動畫效果怎么實現(xiàn)的

    ?css常見的動畫效果:平移,縮放,旋轉(zhuǎn) css實現(xiàn)動畫主要有三種方式: transition實現(xiàn)漸變動畫 transform實現(xiàn)縮放平移效果動畫 animation實現(xiàn)自定義動畫? ?transition實現(xiàn)漸變動畫 transform實現(xiàn)縮放平移效果動畫? animation實現(xiàn)自定義動畫? 屬性 描述 屬性值 animation-name 動畫名稱 animat

    2024年02月09日
    瀏覽(22)
  • 【CSS】簡記CSS效果:通過transition(動畫過渡屬性)實現(xiàn)側(cè)邊欄目滑入滑出

    【CSS】簡記CSS效果:通過transition(動畫過渡屬性)實現(xiàn)側(cè)邊欄目滑入滑出

    在資金明細(xì)的頁面中,點擊按鈕時篩選區(qū)域從左側(cè)滑出,完成篩選點擊確認(rèn)后調(diào)用接口完成數(shù)據(jù)查詢,篩選區(qū)域滑入左側(cè); https://www.cnblogs.com/yadiblogs/p/10145625.html ?

    2024年02月10日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包