SVG Filters之阴影Drop Shadows

简介:

SVG <feOffset>

示例1

<svg height="120" width="120">
  <defs>
    <filter id="f1" x="0" y="0" width="200%" height="200%">
      <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" />
      <feBlend in="SourceGraphic" in2="offOut" mode="normal" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"
  fill="yellow" filter="url(#f1)" />
</svg>

代码解释:

  • 该元素的id属性定义了滤镜的唯一名称
  • 该元件的滤镜属性链接到了“f1”滤镜

示例2

加上了 <feGaussianBlur>

<svg height="140" width="140">
  <defs>
    <filter id="f2" x="0" y="0" width="200%" height="200%">
      <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" />
      <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" />
      <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"
  fill="yellow" filter="url(#f2)" />
</svg>

示例3

<svg height="140" width="140">
  <defs>
    <filter id="f3" x="0" y="0" width="200%" height="200%">
      <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" />
      <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" />
      <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"
  fill="yellow" filter="url(#f3)" />
</svg>

代码解释:

  • <feOffset> 元素改成了"SourceAlpha"虚化中的Alpha通道代替了RGBA像素

示例4

<svg height="140" width="140">
  <defs>
    <filter id="f4" x="0" y="0" width="200%" height="200%">
      <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" />
      <feColorMatrix result="matrixOut" in="offOut" type="matrix"
      values="0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0" />
      <feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="10" />
      <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"
  fill="yellow" filter="url(#f4)" />
</svg>

代码解释:

  • <feColorMatrix> 转换颜色,使偏移图片的颜色值接近空(0)
  • 矩阵中三个'0.2'是获取了red、green、blue 通道
目录
相关文章
|
4月前
|
前端开发
css的渐变属性linear-gradient
css的渐变属性linear-gradient
|
3月前
|
前端开发 UED
CSS3:linear-gradient&input&inset&table
本文介绍了 CSS 中的 `linear-gradient` 渐变、`input` 样式、`inset` 简写属性、`border-collapse: collapse` 表格边框合并以及 `&lt;label&gt;` 元素的 `for` 属性。通过示例代码和解释,帮助读者理解这些 CSS 特性及其应用。
60 13
|
8月前
❤比较两种模糊特效❤filter: blur(10px)和backdrop-filter: blur(10px)的区别
❤比较两种模糊特效❤filter: blur(10px)和backdrop-filter: blur(10px)的区别
|
前端开发
css去掉input框里面的默认颜色
css去掉input框里面的默认颜色
82 0
|
前端开发
基于CSS mask和clip-path实现切角的技巧1
基于CSS mask和clip-path实现切角的技巧
152 0
|
前端开发
基于CSS mask和clip-path实现切角的技巧2
基于CSS mask和clip-path实现切角的技巧
255 0
|
前端开发
新的 CSS 属性:aspect-ratio 为元素设置宽高比
新的 CSS 属性:aspect-ratio 为元素设置宽高比
|
前端开发
css:filter-blur内容模糊实现数据隐藏
css:filter-blur内容模糊实现数据隐藏
184 0
css:filter-blur内容模糊实现数据隐藏
|
小程序 前端开发 iOS开发
针对不规则图案阴影 drop-shadow
针对不规则图案阴影 drop-shadow
289 0
针对不规则图案阴影 drop-shadow
|
前端开发
一篇文章带你了解SVG 蒙版(Mask)
一篇文章带你了解SVG 蒙版(Mask)
533 0
一篇文章带你了解SVG 蒙版(Mask)