SVG 阴影 SVG 渐变 SVG 动画

1 SVG 阴影

1.1 <defs>

SVG 允许我们定义以后需要重复使用的图形元素。建议把所有需要再次使用的引用元素定义在 <defs> 元素里面。这样做可以增加 SVG 内容的易读性和无障碍。在 <defs> 元素中定义的图形元素不会直接呈现。可以在视图的任意地方利用 <use> 元素呈现这些元素。

1.2 <filter>

<filter> 元素作用是作为原子滤镜操作的容器。它不能直接呈现。可以利用目标 SVG 元素上的 filter 属性引用一个滤镜。

1.3 <feOffset> 和 <feBlend>

<feOffset> 将输入图像作为一个整体,通过属性 dx 和属性 dy 的值指定一个偏移量。

<feBlend> 滤镜把两个对象组合在一起,使它们受特定的混合模式控制。类似于图像编辑软件中混合两个图层。

将 <feOffset> 和 <feBlend> 结合在一起,即可创建图形的阴影效果。

1.4 <feGaussianBlur>

<feGaussianBlur> 滤镜可以对输入图像进行高斯模糊,并通过属性 stdDeviation 指定偏移的像素数量。

1.5 <feColorMatrix>

<feColorMatrix> 滤镜基于转换矩阵对颜色进行变换。每一像素的颜色值(一个表示为 [红,绿,蓝,透明度] 的矢量)都经过矩阵乘法计算出新的颜色。

2 SVG 渐变

渐变是一种从一种颜色到另一种颜色的平滑过渡。另外,可以把多个颜色的过渡应用到同一个元素上。

SVG 渐变主要有两种类型:

  • Linear:线性的。

  • Radial:径向的。

2.1 SVG 线性渐变:<linearGradient>

<linearGradient> 元素用来定义线性渐变,用于图形元素的填充或描边。

 

线性渐变可以定义为水平、垂直或径向渐变:

  • 当 y1 和 y2 相等且 x1 和 x2 不同时,将创建水平渐变。

  • 当 x1 和 x2 相等且 y1 和 y2 不同时,将创建垂直渐变。

  • 当 x1 和 x2 不同且 y1 和 y2 不同时,将创建径向渐变。

一个渐变上的颜色坡度,是用 <stop> 元素定义的。

2.2 SVG 径向渐变:<radialGradient>

 <radialGradient> 元素用来定义径向渐变,以对图形元素进行填充或描边。

3 SVG 动画

SVG 中提供三种常用动画标记:

SVG 动画使用方式:

  1. 创建动画,告诉动画标记哪个元素需要执行动画。

  2. 创建元素,在元素中说明需要执行什么动画。

4.1 SVG动画常用属性

 

 

 

 

3.2 <animate>

利用 <animate> 实现一个点击触发无限往返效果。

 

3.3 <animateTransform>

利用 <animateTransform> 实现一个点击触发水平移动效果。

 利用 <animateTransform> 实现一个点击触发图形旋转效果。

4.4 <animateMotion>

利用 <animateMotion> 实现一个点击触发矩形块沿路径移动的效果。

 

<path> 元素是用来定义形状的通用元素。所有的基本形状都可以用 <path> 元素来创建。

M0 0 是指移动到 0 0 的坐标位置,M 是 “Move to” 的意思。

C0 300 300 300 300 0 是指贝塞尔曲线,0 300 是起点坐标,300 300 是中间点坐标,300 0 是终点坐标。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值