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 代 码以 <svg> 元素开始,包括开启标签 <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" /> </svg>
素描线的参数可以使用工具生成,
2)SVG实现素描的动画及原理
stroke-dasharray = "100 10" stroke-dashoffset = "0"
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; } }
相关课程 使用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();
这里主要定义初始化方法和动画绘制的方法,window.requestAnimationFrame(draw);
来生成动画。
5)我们选用极客标签的logo,作为原始图片,坐标参数用 Inkscape 工具生成。
当运行动画绘制程序的时候,各条线安装设定的方式进行绘制,我们就看到非常酷的预加载动画了。
相关推荐
总的来说,"13款html5 svg页面loading加载动画效果"是一个展示HTML5与SVG结合使用,以及CSS3动画技术在创建现代网页交互元素方面的强大能力的实例集。这些技术的应用不仅提升了用户体验,也反映了Web开发的最新趋势...
"10款华丽的SVG Loading加载动画效果"就是这样一个资源集合,它展示了如何巧妙地利用SVG(Scalable Vector Graphics)技术来创建动态、美观的加载动画。 SVG是一种基于XML的矢量图形格式,它的优点在于可以无限缩放...
手机页面预加载效果是移动应用或网页在用户打开时,为了提供流畅的用户体验而采用的一种技术。当用户点击一个链接或者启动应用时,预加载效果会先展示出来,以掩盖内容加载过程中的空白期,同时给予用户视觉反馈,...
"13种SVG HTML5 Loading页面加载动画弹出层效果代码"集合提供了丰富多样的加载动画,旨在提升用户在等待页面完全加载时的视觉体验,增强网站的专业感与吸引力。下面将详细解析这些知识点。 1. SVG (Scalable Vector...
HTML5和SVG(Scalable Vector Graphics)是现代网页开发中的重要技术,它们结合使用可以创建出富有表现力和交互性的页面加载动画。在本文中,我们将深入探讨如何利用HTML5和SVG来制作一个页面加载的绘图动画效果。 ...
总的来说,通过 SVG 和 CSS 动画的结合,我们可以轻松地创建出扁平化且具有个性的页面预加载效果。这种技术不仅适用于静态网页,也广泛应用于响应式设计和单页应用(SPA)中。理解并掌握 SVG 和 CSS 动画的基本原理...
本文将详细介绍如何在Android应用中使用SVG来实现炫酷的动画效果。 1. **SVG基础知识** SVG是一种基于XML的图形语言,它定义了形状、路径、文本、渐变、透明度等元素,可以创建复杂的图形。SVG文件由一系列指令...
SVG加载动画的核心是使用SVG的 `<svg>` 标签创建图形,然后通过CSS或JavaScript控制其变换。CSS3提供了许多强大的动画属性,如`transition`和`animation`,可以实现平滑的过渡效果。在这个案例中,加载进度条可能是...
"2款页面预加载动画效果,加载页面时出现圆形进度条,加载后LOGO缩小。兼容主流浏览器"这个主题聚焦于提升用户在等待网页完全加载时的视觉体验。预加载动画是一种有效的策略,可以向用户显示网页正在努力加载,从而...
通过监听页面加载事件,可以触发加载动画的开始。然后,通过定时器(如`setInterval`或`requestAnimationFrame`)来控制动画的帧率,逐步更新SVG元素的属性,如路径的`d`属性(定义路径数据),来实现螺旋线的旋转和...
在本压缩包“纯svg加载loading动画.zip”中,包含了11种不同的SVG加载动画效果。这些动画是通过编写SVG代码并结合CSS或JavaScript来实现动态效果的。每一种效果都通过`<img>`标签直接调用SVG文件,这种方式简洁高效...
本文将深入探讨这个主题,介绍CSS3和SVG如何结合创建出这样的动画效果,并提供相关的编程技巧。 **CSS3概述** CSS3(Cascading Style Sheets Level 3)是CSS的最新版本,引入了许多新的特性和功能,如动画、过渡、...
- 文件中的数字可能代表不同的动画样式,如`index7.html`可能展示了第七种加载动画效果。 5. 开发实践 在实际开发中,开发者可以参考这些示例,根据项目需求调整动画设计,如改变颜色、速度、形状等。同时,通过...
本资源提供了两款独特的页面预加载进度动画效果特效代码,旨在提升用户在等待页面完全加载过程中的体验感。 第一款动画效果可能是圆形进度条。这种效果通常由一个环形图案构成,其内部填充随着页面资源的加载逐渐...
这个压缩包文件"SVG实现Loading加载按钮动画图标特效.zip"包含了实现SVG加载动画效果的相关资源,包括HTML、JavaScript(js)和CSS(样式表)文件。下面我们将详细探讨SVG、加载动画以及如何通过这些技术来创建按钮...
总结起来,这个项目展示了如何利用SVG、jQuery和自定义的JavaScript库来创建交互式的、数据驱动的动画效果,特别是对于显示温度计和管道这样的视觉元素。同时,这也提醒我们在开发过程中要考虑浏览器的兼容性问题,...
本资源"30种CSS3炫酷页面预加载loading动画特效源码.zip"包含了30个不同的CSS3实现的加载动画效果,这些效果既美观又高效,能够为你的网站增添独特的魅力。 首先,CSS3是 Cascading Style Sheets 的第三版,它是...
本资源集包含12种炫酷的HTML5 SVG加载动画特效,这些特效能够为网页增加视觉吸引力,提升用户体验,特别是在页面内容加载时。 SVG的优势在于其矢量特性,这意味着无论放大多少倍,图像质量都不会降低。这对于网页...
这个“HTML5 SVG实现超酷的盆栽藤蔓生长动画效果源码”是一个实例,展示了SVG在网页动画制作中的强大功能。 SVG的优势在于其矢量特性,这意味着无论放大多少倍,图像质量都不会降低。同时,SVG代码是基于XML的,...
H5加载效果,也称为“loading”或“预加载”,是指在页面内容完全加载之前显示的一种视觉反馈。它通常包含一个动效,让用户知道页面正在加载,从而减少用户因等待而产生的不耐烦感。这些动效可以是简单的百分比...