試一試
filter: contrast(1);
filter: contrast(1.75);
filter: contrast(50%);
filter: contrast(0);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
語法
css
contrast(amount)
值
amount可選-
結果的對比度,指定為
<number>或<percentage>。低於100%的值會降低對比度,而高於100%的值會增加對比度。值為0或0%將建立一個完全灰色的影像,而值為1或100%則保持輸入不變。不允許使用負值。插值的初始值為1。預設值為1。
以下是等效值對
css
contrast(0) /* Completely gray */
contrast(0%)
contrast(0.65) /* 65% contrast */
contrast(65%)
contrast() /* No effect */
contrast(1)
contrast(100%)
contrast(2) /* Double contrast */
contrast(200%)
正式語法
<contrast()> =
contrast( [ <number> | <percentage> ]? )
示例
與 backdrop-filter 屬性配合使用
此示例透過 backdrop-filter CSS 屬性對段落和等寬文字應用 contrast() 濾鏡,對 <p> 和 <code> 後面的區域進行顏色偏移。
css
.container {
background: url("unity_for_the_people.jpg") no-repeat center / contain #333399;
}
p {
backdrop-filter: contrast(0.5);
}
code {
backdrop-filter: contrast(0.15);
}
與 filter 屬性配合使用
此示例透過 filter CSS 屬性應用 contrast() 濾鏡,透過改變整個元素(包括內容、邊框、背景和陰影)的顏色來改變對比度。
css
p:first-of-type {
filter: contrast(30%);
}
p:last-of-type {
filter: contrast(300%);
}
與 url() 和 SVG 對比度濾鏡配合使用
SVG <filter> 元素用於定義自定義濾鏡效果,然後可以透過 id 引用這些效果。<filter> 的 <feComponentTransfer> 原語支援畫素級顏色重對映。給定以下內容
html
<svg
xmlns="http://www.w3.org/2000/svg"
id="svg"
viewBox="0 0 240 151"
height="0"
width="0"
overflow="visible"
color-interpolation-filters="sRGB">
<filter id="contrast">
<feComponentTransfer>
<feFuncR type="linear" slope="2" intercept="-0.5" />
<feFuncG type="linear" slope="2" intercept="-0.5" />
<feFuncB type="linear" slope="2" intercept="-0.5" />
</feComponentTransfer>
</filter>
</svg>
這些值產生相同的結果
css
filter: contrast(200%);
filter: url("#contrast"); /* with embedded SVG */
filter: url("folder/fileName.svg#contrast"); /* external svg filter definition */
此示例展示了三張影像:應用了 contrast() 濾鏡函式的影像,應用了等效 url() 濾鏡的影像,以及原始影像用於比較
規範
| 規範 |
|---|
| 濾鏡效果模組第 1 級 # funcdef-filter-contrast |
瀏覽器相容性
載入中…
另見
- CSS 濾鏡效果模組
- 在
filter和backdrop-filter屬性值中可用的其他<filter-function>函式包括: