中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

如何使用SVG生成超酷的頁面預加載素描動畫效果

2023-08-20    分類: 網站建設

1 SVG簡介

可縮放矢量圖形是基于可擴展標記語言(標準通用標記語言的子集),用于描述二維矢量圖形的一種圖形格式。它由萬維網聯盟制訂,是一個開放標準。

2 SVG的特點

與其他圖像格式相比(比如 JPEG 和 GIF),使用 SVG 的優勢在于:

SVG 圖像可通過文本編輯器來創建和修改

SVG 圖像可被搜索、索引、腳本化或壓縮

SVG 是可伸縮的

SVG 圖像可在任何的分辨率下被高質量地打印

SVG 可在圖像質量不下降的情況下被放大

3 瀏覽器支撐

Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支撐內聯 SVG。Internet Explorer 8或更早版本,可通過安裝Adobe SVG Viewer以支撐SVG。

4 SVG 標簽

SVG 代 碼以 元素開始,包括開啟標簽 和關閉標簽 。這是根元素。 width 和 height 屬性可設置此 SVG 文檔的寬度和高度。version 屬性可定義所使用的 SVG 版本,xmlns 屬性可定 義 SVG 命名空間。

5 SVG 制作素描線動畫舉例

1)首先畫一條素描線 如圖:

素描線的參數可以使用工具生成,

2)SVG實現素描的動畫及原理

stroke-dasharray = "100 10" stroke-dashoffset = "0"

stroke-dasharray定義了生成線段長度,及其線段和線段之間的縫隙 ,這里包含兩個參數

stroke-dashoffset定義了從那個位置開始渲染生成線段

3)使用CSS3來實現素描動畫效果

/*定義keyframe動畫*/ /* 添加動畫到path元素 */ .path{ stroke-dasharray: 265.07; stroke-dashoffset: 265.07; animation: dash 3s linear infinite; /* 支撐chrome */ -webkit-animation: dash 3s linear infinite; } @keyframes dash{ from{ stroke-dashoffset: 265.07; /* 這里是svg圖形中素描線長度,可以使用js獲取 */ } to{ stroke-dashoffset: 0; } } /* 支撐chrome瀏覽器 */ @-webkit-keyframes dash{ from{ stroke-dashoffset: 265.07; /* 這里是svg圖形中素描線長度,可以使用js獲取 */ } to{ stroke-dashoffset: 0; } }

4)使用javascript來調節動畫效果的參數

/*定義相關javascript*/ var current_frame, //定義當前幀 total_frames, //定義悉數幀數 path, //定義svg中的path元素 length, //定義path所生成的素描長度 handle; //定義javascript動畫句柄 path = document.getElementById('path'), length = path.getTotalLength(); //定義初始化方法 var init = function(){ current_frame = 0; total_frames = 160; path.style.strokeDasharray = length + ' ' + length; //定義dasharray path.style.strokeDashoffset = length; //定義dashoffset handle = 0; } //定義現實的動畫繪制方法 var draw = function(){ var progress = current_frame/total_frames; if(progress>1){ //這里定義完成動畫 window.cancelAnimationFrame(handle); }else{//否則使用reqeuestAnimationFrame來生成動畫 current_frame++; path.style.strokeDashoffset = Math.floor(length*(1 - progress)); handle = window.requestAnimationFrame(draw); } } //定義一個重新運行方法 var rerun = function(){ init(); draw(); } //頁面加載即運行 rerun();

這里主要定義初始化方法和動畫繪制的方法,window.requestAnimationFrame(draw);

來生成動畫。

5)我們選用極客標簽的logo,作為原始圖片,坐標參數用 Inkscape 工具生成。

當運行動畫繪制程序的時候,各條線安裝設定的體例進行繪制,我們就看到特別很是酷的預加載動畫了。

網站題目:如何使用SVG生成超酷的頁面預加載素描動畫效果
分享路徑:http://m.2m8n56k.cn/news47/277347.html

成都網站建設公司_創新互聯,為您提供云服務器網站設計公司自適應網站品牌網站建設面包屑導航網站維護

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 美女视频免费黄色 | 午夜欧美精品久久久久久久久 | 巨乳女上司| 国产精品大片天天看片 | 美女流白浆网站 | 91免费视频版 | 精品久久久中文字幕二区 | 国产精品国产自线在线观看 | a级毛片在线免费看 | 特黄特黄黄色大片 | 三级成人网| 国产精品每日更新在线观看 | 最新国产三级在线观看不卡 | 亚洲一区免费在线 | 在线观看免费国产成人软件 | 手机看片精品高清国产日韩 | 国产精品免费视频一区 | 在线观看日韩 | 国产一级第一级毛片 | 国产护士一级毛片高清 | 性生大片一级毛片免费观看 | 亚洲欧美一区二区久久 | 欧美成人亚洲国产精品 | 亚州三级视频 | 亚洲一区二区免费视频 | 国产91成人精品亚洲精品 | 精品国产三级 | 日本三级香港三级网站 | 一级毛片免费观看不卡视频 | 久草久在线| 一级淫片免费视频 | 日韩第一视频 | 97超级碰碰碰碰在线视频 | 怡红院男人的天堂 | 精品一区二区三区中文 | 欧美日韩一区二区三区在线观看 | 国产高清一级视频在线观看 | 亚洲免费视频一区 | 日韩欧美一区二区三区久久 | 亚洲成a人在线播放www | 国产成人综合网亚洲欧美在线 |