hand
18
_1_12_153
4
返回栏目
0k
3k
5k
1k
2k
0.2k
2k
1k
2k
3k
2k
3k
2k
3k
3k
0.3k
0k
2k
0k
1k
0.1k
0k
0k
2k
2k
3k
0.2k
3k
0k
2k
2k
2k
3k
2k
2k
0k
4k
2k
2k
0k
3k
3k
2k
2k
2k
1k
3k
1k
3k
2k
1k
0.8k
2k
0k
2k
2k
2k
2k
3k
0.4k
4k
2k
5k
2k
3k
2k
3k
3k
4k
2k
3k
2k
3k
0.7k
2k
0.8k
3k
2k
4k
2k
2k
2k
2k
2k
3k
3k
3k
3k
4k
3k
3k
0k
2k
2k
0k
3k
2k
3k
1k
2k
2k
3k
3k
3k
3k
5k
3k
3k
3k
4k
3k
5k
4k
4k
4k
4k
1k
2k
2k
2k
2k
2k
2k
1k
2k
3k
3k
3k
3k
3k
2k
3k
4k
2k
2k
3k
5k
3k
3k
3k
4k
3k
3k
2k
3k
5k
4k
3k
4k
4k
2k
3k
3k
1k
3k
4k
4k
2k
2k
2k
3k
2k
4k
2k
4k
2k
4k
1k
2k
1k
2k
2k
1k
2k
2k
2k
2k
2k
2k
1k
1k
4k
3k
2k
2k
3k
3k
6k
2k
8k
3k
7k
2k
3k
3k
4k
3k
5k
4k
3k
3k
2k
2k
3k
3k
2k
2k
2k
3k
2k
6k
4k
4k
4k
4k
3k
3k
2k
4k
2k
3k
3k
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
0k
返回前端 - HTML5栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 13:04:17
在前端开发中,HTML5 为我们提供了强大的功能来处理矢量图形,其中滤镜效果为网页设计增添了丰富的视觉效果。本文将重点介绍模糊滤镜在 HTML5 矢量图形中的应用。
模糊滤镜是一种常见的图像处理效果,它可以使图像或图形看起来变得柔和、朦胧,减少图像的清晰度,从而营造出不同的氛围。在 HTML5 中,我们可以使用 SVG(可缩放矢量图形)的 <filter>
元素来实现模糊滤镜效果。
在 SVG 中,使用 <filter>
元素来定义滤镜,而模糊滤镜通过 <feGaussianBlur>
子元素来实现。其基本语法如下:
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<!-- 定义滤镜 -->
<filter id="blurFilter">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
</filter>
<!-- 使用滤镜的图形 -->
<rect x="50" y="50" width="100" height="100" fill="blue" filter="url(#blurFilter)" />
</svg>
在上述代码中:
<filter>
元素用于定义一个滤镜,id
属性为该滤镜指定一个唯一的标识符,方便后续引用。<feGaussianBlur>
元素用于实现高斯模糊效果。in
属性指定输入的图形,通常使用 SourceGraphic
表示当前要应用滤镜的图形;stdDeviation
属性控制模糊的程度,值越大,模糊效果越明显。<rect>
元素是一个矩形图形,通过 filter
属性引用之前定义的滤镜。在网页设计中,经常会使用背景虚化效果来突出前景内容。以下是一个示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>背景虚化示例</title>
</head>
<body>
<svg width="400" height="300">
<!-- 定义模糊滤镜 -->
<filter id="backgroundBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="5" />
</filter>
<!-- 背景矩形 -->
<rect x="0" y="0" width="400" height="300" fill="lightgray" filter="url(#backgroundBlur)" />
<!-- 前景文本 -->
<text x="200" y="150" text-anchor="middle" font-size="30" fill="black">Hello, World!</text>
</svg>
</body>
</html>
在这个示例中,我们为背景矩形应用了模糊滤镜,使背景看起来虚化,从而突出了前景的文本内容。
我们可以结合 CSS 和 SVG 实现鼠标悬停时的模糊效果。示例代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>鼠标悬停模糊效果</title>
<style>
svg rect {
transition: filter 0.3s ease;
}
svg rect:hover {
filter: url(#hoverBlur);
}
</style>
</head>
<body>
<svg width="200" height="200">
<!-- 定义模糊滤镜 -->
<filter id="hoverBlur">
<feGaussianBlur in="SourceGraphic" stdDeviation="3" />
</filter>
<!-- 矩形 -->
<rect x="50" y="50" width="100" height="100" fill="green" />
</svg>
</body>
</html>
在这个示例中,当鼠标悬停在矩形上时,通过 CSS 的 filter
属性引用定义好的模糊滤镜,实现了动态的模糊效果。
功能 | 描述 | 示例代码 |
---|---|---|
基本模糊滤镜 | 使用 <filter> 和 <feGaussianBlur> 实现模糊效果 |
<filter id="blurFilter"><feGaussianBlur in="SourceGraphic" stdDeviation="3" /></filter><rect filter="url(#blurFilter)"... /> |
背景虚化 | 为背景图形应用模糊滤镜突出前景内容 | <rect fill="lightgray" filter="url(#backgroundBlur)"... /><text...>Hello, World!</text> |
鼠标悬停效果 | 结合 CSS 和 SVG 实现动态模糊效果 | <style>rect:hover { filter: url(#hoverBlur); }</style><rect... /> |
通过以上介绍,我们可以看到 HTML5 中 SVG 的模糊滤镜为网页设计带来了丰富的可能性。无论是背景虚化还是动态效果,都可以通过简单的代码实现。在实际开发中,可以根据具体需求调整模糊程度和应用场景,为用户带来更加出色的视觉体验。
前端 - HTML5
整章节共240节
快分享给你的小伙伴吧 ~