filter元素本身滤镜
blur() 模糊
- 函数将
**高斯模糊**
应用于输入图像。 - radius 定义了高斯函数的标准偏差值,或者屏幕上有多少像素相互融合,因此,较大的值将产生更多的模糊。
- 若没有设置值,默认为 0。
该参数可以指定为 CSS 长度,但不接受百分比值。
示例 filter: blur(5px)
-
brightness() 变亮
函数将线性乘法器应用于输入图像,使其看起来或多或少地
**变得明亮**
。- 值为 0% 将创建全黑图像。值为 100% 会使输入保持不变。
其他值是效果的线性乘数。如果值大于 100% 提供更明亮的结果。
若没有设置值,默认为 1 filter: brightness(2)
- 为3
-
contrast() 对比度
函数可调整输入图像的
**对比度**
。值是 0% 的话,图像会全黑。值是 100%,图像不变。值可以超过 100%,意味着会运用更低的对比。
若没有设置值,默认是 1。 filter: contrast(2);
-
drop-shadow() 阴影
函数对输入图像应用
**阴影效果**
。- 阴影可以设置模糊度的,以特定颜色画出的遮罩图的偏移版本,最终合成在图像下面。
- 函数接受
(在 CSS3 背景中定义)类型的值,除了 inset 和 spread 关键字。 该函数与已有的 box-shadow 属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。
filter: drop-shadow(16px 16px 10px black) x 轴 y轴 模糊效果 模糊颜色
-
grayscale() 灰度
函数将改变输入
**图像灰度**
。- 值为 100% 则完全转为灰度图像,值为 0% 图像无变化。
值在 0% 到 100% 之间,则是效果的线性乘数。
若未设置值,默认是 0。 filter: grayscale(100%)
-
hue-rotate()色相旋转
函数在输入图像上应用
**色相旋转**
。- angle 一值设定图像会被调整的色环角度值。
值为 0deg,则图像无变化。若值未设置值,默认为 0deg。该值虽然没有最大值,超过 360deg 的值相当于又绕一圈。
filter: hue-rotate(90deg)
-
invert() 反转图像
函数
**反转输入图像**
。值为 100% 则图像完全反转。值为 0% 则图像无变化。值在 0% 和 100% 之间,则是效果的线性乘数。
若未设置值,则默认为 0。 filter: invert(100%)
-
opacity() 透明
转化图像的
**透明程度**
。- amount 的值定义转换的比例。值为 0% 则是完全透明,值为 100% 则图像无变化。
- 值在 0% 和 100% 之间,则是效果的线性乘数。也相当于图像样本乘以数量。
该函数与已有的 opacity 属性很相似,不同之处在于通过 filter,一些浏览器为了提升性能会提供硬件加速。
若未设置值,则默认为 1。 filter: opacity(50%)
-
saturate()饱和度
函数转换图像
**饱和度**
。- amount 的值定义转换的比例。值为 0% 则是完全不饱和,值为 100% 则图像无变化。
其他值是效果的线性乘数。超过 100% 则有更高的饱和度。
若未设置值,则默认为 1。 filter: saturate(200%)
-
sepia() 深褐色
函数将图像转换为
**深褐色**
。amount 的值定义转换的比例。值为 100% 则完全是深褐色的,值为 0% 图像无变化。值在 0% 到 100% 之间,值是效果的线性乘数。
若未设置值,则默认为 0。 filter: sepia(100%)
-
复合写法
你可以组合任意数量的函数来控制渲染。下面的例子可以增强图像的对比度和亮度。
filter: contrast(175%) brightness(103%)
backdrop-filter 背景滤镜
**backdrop-filter**
属性可以让你为一个元素后面区域添加图形效果(如模糊或颜色偏移)。- 因为它适用于元素背后的所有元素,为了看到效果,必须使元素或其背景至少部分透明。 ```css / 关键词值 / backdrop-filter: none;
/ 指向 SVG 滤镜的 URL / backdrop-filter: url(commonfilters.svg#filter)
/
/ 多重滤镜 / backdrop-filter: url(filters.svg#filter) blur(4px) saturate(150%);
/ 全局值 / backdrop-filter: inherit; backdrop-filter: initial; backdrop-filter: revert; backdrop-filter: unset;
<a name="uq1PY"></a>
### 示例
```css
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
html,
body {
height: 100%;
width: 100%;
background-image: linear-gradient(rgb(219, 166, 166), rgb(0, 0, 172));
}
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
}
.box {
background-color: rgba(255, 255, 255, 0.3);
border-radius: 5px;
font-family: sans-serif;
text-align: center;
backdrop-filter: blur(10px);
max-width: 50%;
max-height: 50%;
padding: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="box">
<p>backdrop-filter: blur(10px)</p>
</div>
</div>
</body>
</html>