css--filter(滤镜) 属性
前言
前段时间找工作面试官问到一个问题,你如何将一个网页整体置灰?面试遇到这样的问题,一下束手无策,之前没有接触过这样的需求,因此没有回答上来,面试结束我才知道了这是考查对 CSS3 的新属性的了解。这里需要掌握 filter(滤镜) 这个新属性。细想一下,这个需求成立啊,比如遇到清明节、全国哀悼日、大地震等灾害的日子,我们的网页可以全局置灰,相当于加一层滤镜,以表示我们对逝者的悼念。
正文
1.定义和使用
filter 属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度)。本文用谷歌浏览器测试,暂不烤炉兼容问题。
语法:
filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();
注意:可以使用空格分割加多个滤镜。
默认值:none;不加任何效果。
2.filter函数使用
基础代码如下:
<div>
<img src="./图片/2222.jpeg" alt="">
<img src="./图片/2222.jpeg" alt="">
<img src="./图片/2222.jpeg" alt="">
<img src="./图片/2222.jpeg" alt="">
</div>
<style>
div{
display: flex;
justify-content: space-around;
width: 500px;
margin: 100px auto;
}
img{
width: 100px;
}
</style>
基础效果如下:
(1)blur(),该函数给图像设置模糊度,默认值为0,可以设置长度值,但是不能设置百分比。
img:nth-child(1) {}
img:nth-child(2) {
filter: blur(2px);
}
img:nth-child(3) {
filter: blur(4px);
}
img:nth-child(4) {
filter: blur(6px);
}
(2)brightness(),图片高亮显示,使得图片看起来更亮或者更暗,参数为0%,图片会全黑;参数为100%,图片无变化;参数越大,图片越亮;默认值为100%。通常为75%达到滤镜效果,同时也可以用小数作为参数(如0.75)。
img:nth-child(1) {}
img:nth-child(2) {
filter: brightness(0%)
}
img:nth-child(3) {
filter: brightness(75%)
}
img:nth-child(4) {
filter: brightness(125%)
}
(3)contrast(),调整图像对比图,参数为0%,图像全黑;参数为100%,图像不变;参数越大,表示对比越低;默认值为100%。
img:nth-child(1) {}
img:nth-child(2) {
filter: contrast(0%)
}
img:nth-child(3) {
filter: contrast(75%)
}
img:nth-child(4) {
filter: contrast(125%)
}
(4)drop-shadow(h-shadow v-shadow blur spread color) ,给图像设置一个阴影效果,阴影是合成在图像下面,可以又模糊度的,可以以特定的颜色色画出遮罩图的偏移版本,该函数与box-shadow属性相似,不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速。具体参数设置如下:
h-shadow和v-shadow,两个参数是必选的,表示阴影偏移量,分别在水平方向和垂直方向的便宜距离,同样设置负值的时候会出现相反的方向。
blur,该参数可选,表示模糊程度,值越大越模糊,则阴影会变大更大更淡,不允许负值,默认是为0表示阴影的边界很锐利。
spread,该参数可选,正值会使阴影扩张和变大,负值会使阴影缩小,默认值为0表示阴影与元素一样大小。
color,该参数可选,表示阴影的颜色,若未设定,颜色基于浏览器。
img:nth-child(1) {}
img:nth-child(2) {
filter: drop-shadow(20px 10px 4px #4444dd);
}
img:nth-child(3) {
filter: drop-shadow(0 -6mm 4mm rgb(160, 0, 210));
}
img:nth-child(4) {
filter: drop-shadow(0 0 0.75rem crimson);
}
(5)grayscale(),将图像转为灰度图像,值定义转换的比例,值为1--%表示全部转换为灰度,值为0表示图像无变化。
img:nth-child(1) {}
img:nth-child(2) {
filter: grayscale(30%);
}
img:nth-child(3) {
filter: grayscale(60%);
}
img:nth-child(4) {
filter: grayscale(100%);
}
(6)hue-rotate(),该函数给图像添加色相旋转,参数为角度值deg,值为0deg,表示图像无变化;360deg表示图像色相旋转一圈;超过360deg相当于又绕一圈;默认值为0deg。
img:nth-child(1) {}
img:nth-child(2) {
filter: hue-rotate(90deg);
}
img:nth-child(3) {
filter: hue-rotate(180deg);
}
img:nth-child(4) {
filter: hue-rotate(450deg);
}
(7)invert(),该函数反转输入图像,参数值定义转换比例,参数为100%表示完全反转;参数为0%表示无变化,值在0%-100%之间。默认值为0%。
img:nth-child(1) {}
img:nth-child(2) {
filter: invert(30%);
}
img:nth-child(3) {
filter: invert(60%);
}
img:nth-child(4) {
filter: invert(100%);
}
(8)opacity(),该函数转化图像的透明度,值定义转化比例。值为0%表示图像完全透明;值为100%表示图像无变化;值在0%-100%之间。默认值为100%。
img:nth-child(1) {}
img:nth-child(2) {
filter: opacity(30%);
}
img:nth-child(3) {
filter: opacity(60%);
}
img:nth-child(4) {
filter: opacity(100%);
}
(9)saturate(),该函数设置图像饱和度,值定义转化比例,值为0%则是完全不饱和,值为100%表示图像无变化;值在0%-100%之间。默认值为100%。
img:nth-child(1) {}
img:nth-child(2) {
filter: saturate(0%);
}
img:nth-child(3) {
filter: saturate(30%);
}
img:nth-child(4) {
filter: saturate(60%);
}
(10)sepia(),该函数将图像转化为深褐色,之定义转化比例,值为100%表示完全深褐色,值为0%表示图像无变化;值在0%-100%之间。默认值为0%。
img:nth-child(1) {}
img:nth-child(2) {
filter: sepia(30%);
}
img:nth-child(3) {
filter: sepia(60%);
}
img:nth-child(4) {
filter: sepia(100%);
}
写在最后
有了上面的知识储备,实现面试官这个需求就不难了,一行代码解决 filter: grayscale(1);比如在某宝首页中就可以有如下的效果对比了
以上就是本文的全部内容,希望给读者带来些许的帮助和进步,方便的话点个关注,小白的成长踩坑之路会持续更新一些工作中常见的问题和技术点。
css--filter(滤镜) 属性的更多相关文章
- 巧用 CSS3 filter(滤镜) 属性
原文链接:CSS3 filter(滤镜) 属性 效果预览 filter: grayscale(100%); 定义和使用 filter 属性定义了元素(通常是<img>)的可视效果(例如:模 ...
- css3中强大的filter(滤镜)属性
CSS3中强大的filter(滤镜)属性 博主最近在做网站的过程中发现了一个非常强大的CSS3属性,就是filter(滤镜)属性,喜欢p图的朋友看名字都应该知道这是什么神器了吧.当然,这个属性的效果肯 ...
- 20190614笔记(颜色透明度,css,filter,滤镜,计算属性,json和formData转换)
今天忙里偷闲,把最近做的笔记做一下整理. 1.json和formData互相转换 适用场景:对接后台接口.后台接口写的因人而异,不同的人有不同的风格.比如,文件上传,原本就是formData格式,有人 ...
- filter(滤镜) 属性 内部资料 请勿转载 谢谢合作
Filter 描述 none 默认值,没有效果. blur(px) 给图像设置高斯模糊."radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊 ...
- css3 filter(滤镜)属性汇总与使用介绍,来源W3C
实例 修改所有图片的颜色为黑白 (100% 灰度): img { -webkit-filter: grayscale(%); /* Chrome, Safari, Opera */ filter: g ...
- CSS3 filter(滤镜) 属性
filter 属性定义了元素(通常是<img>)的可视效果 语法: object.style.WebkitFilter="grayscale(100%)" 小栗子: 修 ...
- CSS filter滤镜试玩
1.模糊(blur). 用法:给相应元素设置高斯模糊,传入的px数值越大越模糊. 2.亮度(brightness). 用法:给元素设置亮度,0%为全黑,100%为元素原始亮度,>100%表示会比 ...
- 关于CSS3的filter(滤镜) 属性
修改所有图片或者元素的颜色为黑白 (100% 灰度) DOM{ -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */ filter: ...
- filter: grayscale(100%)滤镜属性
效果图: filter滤镜属性
- CSS filter 属性
filter 将模糊或者颜色偏移等图像效果用于元素,通常用于调整图像,背景和边框的渲染 css 标准中已内置一些预定义效果的函数,也可通过url使用SVG滤镜 语法 /* URL to SVG fil ...
随机推荐
- 记go中一次http超时引发的事故
记一次http超时引发的事故 前言 分析下具体的代码实现 服务设置超时 客户端设置超时 http.client context http.Transport 问题 总结 参考 记一次http超时引发的 ...
- 通过Maven打jar包&运行
运行命令:java -jar [包名] https://www.cnblogs.com/jinjiyese153/p/9374015.html
- 使用Git下载指定分支命令为
使用Git下载指定分支命令为: git clone -b 分支名 仓库地址 例如: git clone -b dev https://github.com/xxx.git 将下载分支名为2D- ...
- java中存储mysql数据库时间类型【date、time、datetime、timestamp】
在MySQL中对于时间的存储自己见表的时候都是设置的varchar类型的,感觉挺方便的. 昨天拿别人建好的表写代码,发现这张表中时间类型为datetime的,凭感觉试了一下不行,网上查了刚开始试了好几 ...
- 3 Python相对路径地址的的一个问题
构建程序xiaojie_test.py import os from xxx.yyy import test test() 同目录下构建一个目录xxx,并且目录中有/tmp/results/graph ...
- 如何在TVM上集成Codegen(上)
如何在TVM上集成Codegen(上) 许多常用的深度学习内核,或者提供DNNL或TensorRT等框架和图形引擎,让用户以某种方式描述他们的模型,从而获得高性能.此外,新兴的深度学习加速器也有自己的 ...
- Docker基本概念介绍
前言 Docker和Kubernetes是我最近在学习的内容,本来是去年的目标,由于工作比较忙,没有时间去学习,今年剩下的半年时间我会好好系统学习下相关的内容,最后在学习下Devops相关理念,希望最 ...
- JS使用Enter事件将输入的字符倒叙输出
在JavaScript中执行当用户按下Enter键位时将用户输入的字符倒叙输出! HTML代码: <body> <form id="form1" runat=&q ...
- python应用_读取Excel数据【二】_二次封装之函数式封装
目的:想要把对Excel文件读取做成一个通用的函数式封装,便于后续简单调用,隔离复杂性. 未二次封装前原代码: #coding=gbkimport osimport xlrdcurrent_path= ...
- 分布式Jmeter压测机的部署
部署 1.分布式配置 Master机Jmeter安装目录下/bin/jmeter.properties remote_hosts修改为slave压力机的IP 如 remote_hosts=10.0.4 ...