试一试
filter: brightness(1);
filter: brightness(1.75);
filter: brightness(50%);
filter: brightness(0);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
语法
brightness(amount)
值
amount可选-
亮度可以指定为
<number>或<percentage>。小于100%的值会使输入图像或元素变暗,而大于100%的值会使其变亮。0%的值会创建完全黑色的图像或元素,而100%的值会保持输入不变。0%到100%之间的其他值具有线性乘数效果。允许大于100%的值,以提供更亮的结果。插值的初始值为1。不允许使用负值。默认值为1。
以下是等效值的配对
brightness(0) /* Brightness is reduced to zero, so input turns black */
brightness(0%)
brightness(0.4) /* Brightness of input is reduced to 40%, so input is 60% darker */
brightness(40%)
brightness() /* Brightness of input is not changed */
brightness(1)
brightness(100%)
brightness(2) /* Brightness of input is doubled */
brightness(200%)
正式语法
<brightness()> =
brightness( [ <number> | <percentage> ]? )
示例
使用 backdrop-filter 属性应用亮度
此示例展示了如何通过 backdrop-filter CSS 属性将 brightness() 滤镜应用于段落。
CSS
.container {
background: url("be_fierce.jpg") no-repeat right / contain #d4d5b2;
}
p {
backdrop-filter: brightness(150%);
text-shadow: 2px 2px white;
}
结果
在此示例中,<p> 元素后面的区域中的颜色线性移动。如果 backdrop-filter 属性设置为 brightness(0%),则带有 <p> 元素的 <div> 区域将是黑色并隐藏后面的图像。在 brightness(100%) 时,<div> 区域颜色将与输入 #d4d5b2 相同,并且后面的图像将完全透明。将亮度设置为 150%,如本例所示,图像中的颜色被 <div> 元素的亮度隐藏。
使用 filter 属性应用亮度
在此示例中,brightness() 滤镜通过 filter CSS 属性应用于整个元素,包括内容、边框和背景图像。结果显示了三种不同亮度值的变体。
p:first-of-type {
filter: brightness(50%);
}
p:last-of-type {
filter: brightness(200%);
}
使用 url() SVG 亮度滤镜应用亮度
SVG <filter> 元素用于定义自定义滤镜效果,然后可以通过 id 引用这些效果。<filter> 元素的 <feComponentTransfer> 基元支持像素级颜色重映射。
在此示例中,为了创建一个将应用它的内容变暗 25%(即原始亮度的 75%)的滤镜,slope 属性设置为 0.75。然后我们可以通过 id 引用该滤镜。
给定以下内容
<svg role="none">
<filter id="darken25" color-interpolation-filters="sRGB">
<feComponentTransfer>
<feFuncR type="linear" slope="0.75" />
<feFuncG type="linear" slope="0.75" />
<feFuncB type="linear" slope="0.75" />
</feComponentTransfer>
</filter>
</svg>
以下声明产生类似的效果
filter: brightness(75%);
filter: url("#darken25"); /* with embedded SVG */
filter: url("folder/fileName.svg#darken25"); /* external svg filter definition */
在下面的图像中,第一张应用了 brightness() 滤镜函数,第二张应用了类似的 SVG 亮度函数,第三张是原始图像用于比较。
规范
| 规范 |
|---|
| 滤镜效果模块第 1 级 # funcdef-filter-brightness |
浏览器兼容性
加载中…
另见
- CSS 滤镜效果模块
- 在
filter和backdrop-filter属性值中可用的其他<filter-function>函数包括: