Jadual Kandungan
1 SVG简介
2 SVG的特点
3 浏览器支持
4 SVG 标签
5  SVG 制作素描线动画举例
Rumah hujung hadapan web html tutorial 如何使用SVG生成超酷的页面预加载素描动画效果_html/css_WEB-ITnose

如何使用SVG生成超酷的页面预加载素描动画效果_html/css_WEB-ITnose

Jun 24, 2016 am 11:55 AM


在线演示

本地下载

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)首先画一条素描线 如图:


     <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 200 100">    <!--    fill属性是否填充    stroke为绘制,颜色#AAAAAA    stroke-width为绘制线的粗细    d是具体数据,这里看到的数据代表了坐标,以及折线等等,可以使用工具生成    -->    <path fill="none" stroke="#AAA" stroke-width="2" d="M62.9 14.9c-25-7.74-56.6 4.8-60.4 24.3-3.73 19.6 21.6 35 39.6 37.6 42.8 6.2 72.9-53.4 116-58.9 65-18.2 191 101 215"></path>    </svg>
Salin selepas log masuk

素描线的参数可以使用工具生成,

相关课程 基础SVG标签介绍

2)SVG实现素描的动画及原理

stroke-dasharray = "100 10"  stroke-dashoffset = "0"
Salin selepas log masuk

 stroke-dasharray定义了生成线段长度,及其线段和线段之间的缝隙 ,这里包含两个参数

 stroke-dashoffset定义了从那个位置开始渲染生成线段

 相关课程 SVG实现的素描动画模拟效果及其原理

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;    }    }
Salin selepas log masuk

 相关课程 使用CSS3实现素描动画效果

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();
Salin selepas log masuk

这里主要定义初始化方法和动画绘制的方法,window.requestAnimationFrame(draw);

来生成动画。

相关课程 使用Javascript来实现素描动画效果

5)我们选用极客标签的logo,作为原始图片,坐标参数用 Inkscape 工具生成。


当运行动画绘制程序的时候,各条线安装设定的方式进行绘制,我们就看到非常酷的预加载动画了。

观看完整效果,请访问轻视频课程: 使用javascript生成极客标签Logo的素描动画效果

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah HTML mudah belajar untuk pemula? Adakah HTML mudah belajar untuk pemula? Apr 07, 2025 am 12:11 AM

HTML sesuai untuk pemula kerana mudah dan mudah dipelajari dan dapat melihat hasilnya dengan cepat. 1) Keluk pembelajaran HTML adalah lancar dan mudah dimulakan. 2) Hanya menguasai tag asas untuk mula membuat laman web. 3) Fleksibiliti yang tinggi dan boleh digunakan dalam kombinasi dengan CSS dan JavaScript. 4) Sumber pembelajaran yang kaya dan alat moden menyokong proses pembelajaran.

Apakah tujuan & lt; kemajuan & gt; unsur? Apakah tujuan & lt; kemajuan & gt; unsur? Mar 21, 2025 pm 12:34 PM

Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

Peranan HTML, CSS, dan JavaScript: Tanggungjawab Teras Peranan HTML, CSS, dan JavaScript: Tanggungjawab Teras Apr 08, 2025 pm 07:05 PM

HTML mentakrifkan struktur web, CSS bertanggungjawab untuk gaya dan susun atur, dan JavaScript memberikan interaksi dinamik. Ketiga melaksanakan tugas mereka dalam pembangunan web dan bersama -sama membina laman web yang berwarna -warni.

Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Apakah contoh tag permulaan dalam html? Apakah contoh tag permulaan dalam html? Apr 06, 2025 am 12:04 AM

Anexampleofastartartingtaginhtmlis, yangbeginsaparagraph.startingtagsareessentialinhtmlasttheyinitiateelements, definetheirtypes, andarecrucialforstructuringwebpagesandconstructionthedom.

Memahami HTML, CSS, dan JavaScript: Panduan Pemula Memahami HTML, CSS, dan JavaScript: Panduan Pemula Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnhtml, CSS, andjavascript: 1) HtmlStructuresContent, 2) CSSStylesit, dan3) JavaScriptaddsInteractivity, Formingthebasisofmodernwebexperiences.

GITEE PAGES PENYEDIAAN LAMAN WEB STATIC Gagal: Bagaimana menyelesaikan masalah dan menyelesaikan kesilapan fail tunggal 404? GITEE PAGES PENYEDIAAN LAMAN WEB STATIC Gagal: Bagaimana menyelesaikan masalah dan menyelesaikan kesilapan fail tunggal 404? Apr 04, 2025 pm 11:54 PM

Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

See all articles