如何创建 SVG 投影阴影?
投影阴影通过赋予 SVG 3D 效果或立体感,提升了外观,SVG 投影阴影可以使用 SVG 滤镜以及盒阴影或滤镜属性来创建。
- SVG 滤镜:提供对阴影属性的细粒度控制。
- CSS 盒阴影或滤镜:使用更简单的语法应用阴影。
创建 SVG 投影阴影的方法
在 SVG 中使用 <filter> 元素
这是一种功能强大的方法,允许对阴影效果进行详细控制,包括模糊、偏移和颜色调整,SVG 滤镜定义应用于元素的图形效果,而 <feDropShadow> 滤镜原语简化了投影阴影的创建。
示例代码
<!DOCTYPE html> <html> <head> <title>Title of the document</title> </head> <body> <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <defs> <filter id="dropShadow" x="0" y="0" width="200%" height="200%"> <feDropShadow dx="5" dy="5" stdDeviation="4" flood-color="black" flood-opacity="0.5" /> </filter> </defs> <circle cx="50" cy="50" r="40" fill="green" filter="url(#dropShadow)" /> </svg> </body> </html>
输出
使用 CSS 滤镜
可以将 CSS 滤镜:投影阴影;应用于 SVG 元素,滤镜:投影阴影 CSS 属性比使用 SVG 滤镜简单,并可通过 CSS 样式表或样式属性直接应用。
示例代码
<!DOCTYPE html> <html> <head> <title>Title of the document</title> </head> <body> <svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"> <circle cx="50" cy="50" r="40" fill="green" style="filter: drop-shadow(5px 5px 4px rgba(0,0,0,0.5));" /> </svg> </body> </html>
输出
广告