Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SVG 阴影 2


SVG <feOffset>

The <feOffset> 过滤器也用于创建阴影效果。其原理是将 SVG 图形在 xy 平面移动一小段距离。


<feOffset> 和 <feBlend>

第一个示例使用 <feOffset> 偏移一个矩形,然后使用 <feBlend> 将原始图形叠加在偏移的图形之上。

Sorry, your browser does not support inline SVG.

以下是 SVG 代码

示例

<svg height="150" width="150" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <filter id="f1" width="120" height="120">
      <feOffset in="SourceGraphic" dx="20" dy="20" />
      <feBlend in="SourceGraphic" in2="offOut" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f1)" />
</svg>
亲自试一试 »

代码解释

  • <filter> 元素的 id 属性为过滤器定义了一个唯一名称。
  • 偏移效果由 <feOffset> 元素定义。
  • in="SourceGraphic" 定义了对整个元素创建效果。
  • dx 属性指示沿 x 轴的偏移。
  • dy 属性指示沿 y 轴的偏移。
  • <feBlend> 元素通过特定的混合模式将两个图形组合在一起。
  • in2 属性定义混合操作的第二个图像。
  • <rect> 元素的 filter 属性将元素指向 "f1" 过滤器。


使用 <feGaussianBlur> 模糊图像

现在,可以使用 <feGaussianBlur> 模糊偏移的图像。

��� ����� ����� ����� ��� Sorry, your browser does not support inline SVG.

以下是 SVG 代码

示例

<svg height="150" width="150" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <filter id="f2" width="120" height="120">
      <feOffset in="SourceGraphic" dx="20" dy="20" />
      <feGaussianBlur stdDeviation="10" />
      <feBlend in="SourceGraphic" in2="blurOut" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3"  fill="yellow" filter="url(#f2)" />
</svg>
亲自试一试 »

代码解释

  • <feGaussianBlur> 元素的 stdDeviation 属性定义模糊的程度。

使阴影变黑

现在,使阴影变黑。

��� Sorry, your browser does not support inline SVG.

以下是 SVG 代码

示例

<svg height="150" width="150" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <filter id="f3" width="120" height="120">
      <feOffset in="SourceAlpha" dx="20" dy="20" />
      <feGaussianBlur stdDeviation="10" />
      <feBlend in="SourceGraphic" in2="blurOut" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f3)" />
</svg>
亲自试一试 »

代码解释

  • <feOffset> 元素的 in 属性已更改为 "SourceAlpha",该属性使用 Alpha 通道进行模糊,而不是使用整个 RGBA 像素。

将阴影视为颜色矩阵

现在,使用 <feColorMatrix> 元素将阴影视为颜色矩阵。

��� Sorry, your browser does not support inline SVG.

以下是 SVG 代码

示例

<svg height="150" width="150" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <filter id="f4" width="120" height="120">
      <feOffset in="SourceGraphic" dx="20" dy="20" />
      <feColorMatrix 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 stdDeviation="10" />
      <feBlend in="SourceGraphic" in2="blurOut" />
    </filter>
  </defs>
  <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f4)" />
</svg>
亲自试一试 »

代码解释

  • <feColorMatrix> 元素用于根据变换矩阵更改颜色。
  • <feColorMatrix> 元素的 type 属性指示矩阵操作的类型。关键字 matrix 指示将定义完整的 5x4 矩阵值。
  • <feColorMatrix> 元素的 value 属性定义矩阵类型的值。

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.