前端 - CSS让网页变为黑白配色

这一行代码是个CSS代码:

filter: grayscale(1)

为了使整个网页生效,你可以把它放在body里。直接写到html文件内,例如:

<style>
body {
  filter: grayscale(1);
}
</style>

  

你也可以用内联样式,优先级最高:

<body style="filter:grayscale(1)"></body>

  

为了更好的兼容性,你可以加一下前缀:

<body style="filter:grayscale(1);-webkit-filter:grayscale(1)"></body>

 

 

原理

我们使用了 CSS 特性 filter,并用了 grayscale 对图片进行灰度转换,允许有一个参数,可以是数字(0到1)或百分比,0% 到 100% 之间的值会使灰度线性变化。

如果你不想完全灰掉。可以设置个相对小的数字。

博客园首页是设置了 1,掘金首页是设置了 0.95,也挺大的,看不出彩色。

兼容性

我们使用了 CSS 特性 filter,兼容性还是不错的

如果你想获得更好的兼容性,可以加一个前缀 -webkit-

filter: grayscale(.95);
-webkit-filter: grayscale(.95);

  

把样式加到了 html 元素上,当然把样式加到 body 元素上效果是一样的。

 

 

 

 

 

 

filter 有11个参数:

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

blur (px)  高斯模糊,单位是像素。如:blur(5px)

drop-shadow (h-shadow v-shadow blur spread color) 阴影,如:drop-shadow(8px 8px 10px red);

hue-rotate (deg) 色相,值表示角度(0-360)

 

以下数值均为百分比(%)

以下三个以100%为基准,即无变化,往上为增 ,往下为减。

brightness 明度

contrast 对比度

saturate 饱和度

 

以下四个范围为(0~100%)

grayscale 灰度

invert 颜色反转,类似底片效果

opacity 透明度

sepia 棕褐色,类似老照片效果

url 

 

 

 

 

 

posted @ 2022-12-01 15:41  公羽寒  阅读(527)  评论(0编辑  收藏  举报