纯CSS实现SVG路径描边动画效果
2017-11-15 10:18
846 查看
SVG中有一个比较重要度属性,stroke。stroke有很多兄弟属性:
1)stroke:线的颜色;
2)stroke-width:线的宽度;
3)stroke-linecap:线的端点,可用值有butt、round、square、inherit;
4)stroke-dasharray:虚线描边,可用值为none、<dasharray>(一个逗号或空格分隔的数值列表)、inherit。表示各个虚线端的长度。可以是固定的长度值,也可以是百分比值;inherit表继承;
5)stroke-dashoffset:虚线的起始偏移,可选值为:<percentage>, <length>, inherit. 百分比值,长度值,继承。
6)stroke-opacity:线的透明度。
此次主要介绍stroke-dasharray和dash-offset两个属性。
Html:
Css:
若将stroke-offset设置为99,则整条线向左平移99个像素,
此时只能看到左右一个像素点,右边则为虚线部分,若将dash-offset设置为100,则只能看到虚线的部分
4000
,实线部分完全左移被遮挡。
此时,如果设置animation改变dash-offset的值就能实现黑色的实现向右平移的效果,达到动态描线的效果。
Css:
如果想知道路径或者线条的长度,可以借助以下代码:
var path = document.querySelector('path');
var length = path.getTotalLength();
1)stroke:线的颜色;
2)stroke-width:线的宽度;
3)stroke-linecap:线的端点,可用值有butt、round、square、inherit;
4)stroke-dasharray:虚线描边,可用值为none、<dasharray>(一个逗号或空格分隔的数值列表)、inherit。表示各个虚线端的长度。可以是固定的长度值,也可以是百分比值;inherit表继承;
5)stroke-dashoffset:虚线的起始偏移,可选值为:<percentage>, <length>, inherit. 百分比值,长度值,继承。
6)stroke-opacity:线的透明度。
此次主要介绍stroke-dasharray和dash-offset两个属性。
Html:
<svg height="100" width="100" xmlns="http://www.w3.org/2000/svg"> <line id="line" x1='0' y1='40' x2='70' y2='40'> </svg>
Css:
#line{ stroke: black; stroke-dasharray: 100; stroke-dashoffset: 0; }此时能看到一条完整的线:
若将stroke-offset设置为99,则整条线向左平移99个像素,
此时只能看到左右一个像素点,右边则为虚线部分,若将dash-offset设置为100,则只能看到虚线的部分
4000
,实线部分完全左移被遮挡。
此时,如果设置animation改变dash-offset的值就能实现黑色的实现向右平移的效果,达到动态描线的效果。
Css:
#line{ stroke: black; stroke-dasharray: 100; stroke-dashoffset: 100; transition: dash 1s all ease; }
@keyframes dash{ to{ stroke-dashoffset: 0; } }
如果想知道路径或者线条的长度,可以借助以下代码:
var path = document.querySelector('path');
var length = path.getTotalLength();
相关文章推荐
- SVG路径描边动画效果的实现
- 纯CSS实现帅气的SVG路径描边动画效果(转载)
- segment-实现SVG路径描边绘制与动画的轻量库
- SVG路径描边动画效果
- 使用snap.svg实现svg路径描边动画
- 通过JS和CSS,实现网页加载中的动画效果
- CSS、jQuery实现放大缩小动画效果
- 自定义View时,用到Paint Canvas的一些温故,讲讲用路径绘画实现动画效果(基础篇 三)
- css实现loading动画效果
- css动画,实现落叶效果
- 使用 SVG 来实现波浪 (wave) 动画效果
- JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
- 用svg矢量图实现动画效果
- JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
- css实现加载中loading动画效果
- 自定义View时,用到Paint Canvas的一些温故,讲讲用路径绘画实现动画效果(基础篇 三)
- Html+Css实现九大行星动画效果
- Android实现炫酷SVG动画效果
- 【CSS3】用纯CSS实现加载中动画效果
- 用HTML和CSS实现WWDC 2015上的动画效果