CSS3十大滤镜效果详解

滤镜效果

类似于美颜相机、美图秀秀这样的美颜工具,能够让我们轻松地应用多种特效,例如转换为黑白照片、复古风格化、调整亮度等。在之前仅凭CSS几乎很难做到这些效果。
但在CSS3的语法中,所有的这些视觉特效都是通过“filter”属性来快速实现的。
语法:

filter:none|方法;

filter属性值有以下10种,每一种都对应着一种滤镜效果。其中属性取值无效,那么会默认取值为none。除了特殊说明,属性取值如果是百分比值(如78%),那么该函数也接收小数(0.78)

属性值说明
none表示不设置滤镜效果
brightness()亮度
grayscale()灰色
sepia()复古
invert()反色
hue-rotate()旋转(色相)
drop-shadow()阴影
opacity()透明度
blur()模糊度
contrast()对比度
saturate()饱和度

亮度:brightness()

概念:brightness()方法用来实现减弱或增强图片的亮度

语法:

filter:brightness(amount);

属性值

取值为0%时就是完全黑色,值为100%就表示图像无变化。如果值在0%到100%之间表示减弱图片的亮度,值大于100%以上就表示增强图片的亮度。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>明亮</title>
		<style>
			*{
				padding:0;
				margin:0;
			}
			div{
				display:inline-block;
				width:230px;
				height:230px;
				margin:20px 20px;
			}
			.after{
				filter:brightness(2);
			}
		</style>
	</head>
	<body>
		<div class="before">
			<h2>之前</h2>
			<img src="../img/9.png" alt="">
		</div>
		<div class="after">
			<h2>现在</h2>
			<img src="../img/9.png" alt="">
		</div>
		
	</body>
</html>

运行结果
在这里插入图片描述

灰度:grayscale()

概念:grayscale()方法可以用于将图片转换为灰度图像(黑白图像)。灰度滤镜就是将彩色图片转换成黑白图片。

语法:

filter:grayscale(amount);

属性值

值为0%时表示图形无变化。当值为100%时则表示将图像完全转换为灰度图像(黑白图像)。值为0%到100%之间的值会增加图片灰度程度。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>灰度</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					width:230px;
					height:230px;
					margin:20px 20px;
				}
				.after{
					filter:grayscale(100%);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/2.png" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/2.png" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

复古:sepia()

概念:sepia()方法用于实现将图像转换为深褐色。复古滤镜,也叫褐色滤镜。

语法:

filter:sepia(amount);

属性值

取值范围为0%~100%。其中,值为100%表示图像完全是深褐色的,值为0%时表示图像无变化。
如果值在0%到100%之间,值越大,变化就越增强。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>复古</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after{
					filter:sepia(100%);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

反色:invert()

概念:invert()方法是用来实现反色滤镜效果的。反色,指的是红、绿、蓝3个通道的像素取各自的相反值。

语法:

filter:invert(amount);

属性值

取值范围是0%到100%。其中,值为0%表示图像无变化,但值为100%则表示图像完全反转所有颜色。如果值在0%到100%之间,值越大,反转程序就越高。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>反色</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
					filter:invert(1);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

旋转:hue-rotate()

概念:hue-rotate()方法用来实现将应用色相旋转的滤镜效果

语法:

filter:hue-rotate(angle);

属性值

angle值设定图像会被调整的色环角度值。angle值是一个度数,单位是deg(即“degree”)。其中,值为0deg表示不旋转,但值为360deg表示旋转360o,也就是相当于一个循环

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>旋转</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
					filter:hue-rotate(240deg);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

阴影:drop-shadow()

概念:drop-shadow()方法用来给图像添加阴影效果。

语法:

filter:drop-shadow(x-offset y-offset blur color);

属性值

属性值说明
x-offset必选值,定义水平阴影的偏移距离,可以使用负值。由于是W3C坐标系,因此x-offset值为正时,向右偏移;取值为负时,向左偏移。
y-offset必选值,定义垂直阴影的偏移距离,可以使用负值。由于是W3C坐标系,因此y-offset值为正时,向下偏移;取值为负时,向上偏移。
blur可选值,定义阴影的模糊半径,只能为正值。值越大,阴影就越大,也越模糊。
color可选值,定义阴影的颜色。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>阴影</title>
		<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
					filter:drop-shadow(10px 10px 15px blue);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

透明度:opacity()

概念:opacity()方法用来给图像添加透明效果,也就是透明度滤镜效果。

语法:

filter:opacity(amount);

属性值

取值范围是0%~100%。其中,值为0%则是使图像完全透明,值为100%则是图像无变化。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>透明</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
					filter:opacity(60%);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果

在这里插入图片描述

模糊度:blur()

概念:blur()方法用来实现模糊度滤镜效果,将高斯模糊应用于输出图片,也就是马赛克

语法:

filter:blur(amount);

属性值

amount的取值是一个像素值,单位是px,定义了高斯函数的标准偏差值,即屏幕上有多少像素相互融合;因此像素值越大,模糊效果会更加明显。值为0会使输入保持不变。该值为空则为0.

实例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>模糊度</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
					filter:blur(10px);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

对比度:contrast()

概念:contrast()方法用来调整输入图像的对比度。

语法:

filter:contrast(amount);

属性值

低于100%的值会降低对比度,高于100%的值会增加对比度。值为0%将创建完全灰色的图像,值为100%时不会有任何变化,值为200%时表示增强对比度为原先的2倍。该值为空时默认为1。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>对比度</title>
	<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
					/* filter:contrast(200%); */
					filter:contrast(3);
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

饱和度:saturate()

概念:saturate()方法用于改变图像饱和度

语法:

filter:saturate(amount);

属性值

低于100%的值会降低饱和度,高于100%的值会增加饱和度。值为0%则是完全不饱和,值为100%则表示图像无变化。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>饱和度</title>
		<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
			
					/* filter:saturate(50%); */
					filter:saturate(300%);
					
					
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

多种滤镜

概念:如果想要为元素同时定义多种滤镜效果,两个值之间要用空格隔开。滤镜效果将按声明顺序依次应用。

语法

filter:brightness() grayscale() blur().....;

注意:滤镜属性值没有规定要按一定的顺序去排序,可以乱序排列。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>多种滤镜效果</title>
		<style>
				*{
					padding:0;
					margin:0;
				}
				div{
					display:inline-block;
					margin:20px 20px;
				}
				img{
					width:400px;
					height:350px;
				}
				.after img{
                    filter:opacity(0.5) blur(1px) sepia(0.3) drop-shadow(20px 10px 10px rgba(31,151,247,0.5));
				}
			</style>
		</head>
		<body>
			<div class="before">
				<h2>之前</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			<div class="after">
				<h2>现在</h2>
				<img src="../img/a.jpg" alt="">
			</div>
			
		</body>
	</html>

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/326934.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Java+SSM的技术的社区人口管理系统详细设计和实现【附源码】

基于JavaSSM的技术的社区人口管理系统详细设计和实现 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 …

备份和容灾讲解

备份和容灾 &#xff08;1&#xff09;容灾&#xff08;容许灾难的发生&#xff09;是一种架构方案&#xff0c;包括了很多方案&#xff0c;如下 本地高可用 双活&#xff08;特指存储&#xff0c;可以理解为两端同时对外提供服务&#xff09;&#xff1a;通过一个双写模块把…

【代码随想录06】454. 四数相加 II 383. 赎金信 15. 三数之和 18. 四数之和

目录 454. 四数相加 II题目描述做题思路参考代码 383. 赎金信题目描述做题思路参考代码 15. 三数之和题目描述参考代码 18. 四数之和题目描述参考代码 454. 四数相加 II 题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你…

burp靶场——XXE注入

XML 外部实体 (XXE) 注入 1. 什么是xxe漏洞&#xff1a; https://portswigger.net/web-security/xxe#what-is-xml-external-entity-injection XML 外部实体注入&#xff08;也称为 XXE&#xff09;是一种 Web 安全漏洞&#xff0c;允许攻击者干扰应用程序对 XML 数据的处理。…

Go语言认识

Go语言认识 1. Go语言的设计背景2. Go语言的历程3. Go语言对比分析4. Go语言未来的发展规划5. 要不要选择Go 关注 go博客 直接了解第一手资料。 go文档 了解go的全貌。 1. Go语言的设计背景 Go语言&#xff08;也称为Golang&#xff09;是由Google开发的一种编程语言。它的设计…

59.说一下 spring 的事务隔离?

spring 的事务隔离有什么作用? 用来解决并发事务所产生一些问题,并发会产生什么问题? 1.脏读2.不可重复度3.幻影读事务隔离的概念 通过设置隔离级别可解决在并发过程中产生的那些问题分别举例说明 1.脏读 上述图表示:一个事务,读取了另一个事务中没有提交的数据,会在…

LabVIEW高效振动时效处理系统

概述&#xff1a;介绍了一个利用LabVIEW开发的振动时效处理系统&#xff0c;有效降低加工工件的内部残余应力&#xff0c;提升其质量和寿命。 项目背景 工业加工中的工件常存在残余应力问题&#xff0c;这直接影响工件的质量和寿命。虽然热时效和自然时效法被广泛应用于降低残余…

数据结构学习 jz45 把数组排成最小的数

关键词&#xff1a;贪心 排序 快速排序 题目&#xff1a;破解闯关密码 思路&#xff1a; 快排自己制定快排规则 开辟一个vector存string&#xff0c;自己制定排序规则&#xff0c;然后用快排比较string大小。 排序规则&#xff1a; sort(strs.begin(),strs.end(),[](string…

供应链管理是什么?专业就业前景如何?

什么是供应链管理 供应链&#xff08;Supply Chain&#xff09;&#xff0c;也被称为价值链或需求链&#xff08;Demand Chain&#xff09;&#xff0c;包括顾客、供应商、过程、产品以及对产品和服务有影响的各种资源。供应链强调的是公司之间的过程与关系。 《中华人民共和国…

置位复位寄存器的某一位(多工位多工站渗透线控制应用)

这里的置位复位特定寄存器位功能块可以应用在渗透线控制应用上,我们可以根据小车当前所在位置,对相关工作槽里的标志位进行置位复位等操作(某个槽有产品,某个槽没有产品等)。 下面我们看下对应的控制要求 1、置位复位特定的位 2、置位复位寄存器中的某一位 3、置位bit8 4…

vue中使用mpegts.js播放flv的直播视频流

第一步&#xff1a;引入mpegts.js npm install --save mpegts.js 第二步&#xff1a;在vue文件中引入mpegts.js的依赖 第三步&#xff1a;编写展示视频的盒子 我这里是使用循环遍历的方式创建video标签&#xff0c;这样方便后面随机展示视频使用 <template><div>&l…

k8s存储卷-动态PV

pv和PVC&#xff0c;存储卷&#xff1a; 存储卷&#xff1a; EmptyDir&#xff1a;容器内部&#xff0c;随着pod销毁&#xff0c;emptyDir也会消失&#xff0c;不能做数据持久化 HostPath&#xff1a;持久化存储数据&#xff0c;可以和节点上目录做挂载&#xff0c;pod被销毁…

屏蔽/非屏蔽线、屏蔽/非屏蔽端口介绍

一、双绞线 双绞线&#xff08;twisted pair&#xff0c;TP&#xff09;是一种综合布线工程中最常用的传输介质&#xff0c;是由两根具有绝缘保护层的铜导线组成的。把两根绝缘的铜导线按一定密度互相绞在一起&#xff0c;每一根导线在传输中辐射出来的电波会被另一根线上发出的…

vivado 使用约束、添加和创建约束文件

使用约束 Vivado IDE支持Xilinx设计约束&#xff08;XDC&#xff09;和Synopsys设计约束&#xff08;SDC&#xff09;文件格式。SDC格式用于定时约束&#xff0c;而XDC格式用于两者时间和物理约束。约束可以包括位置、时间和I/O限制。您可以在设计流程的各个步骤中创建约束&am…

1 python计算机基础

计算机基础和环境搭建 1 计算机基础和环境搭建1.计算机基础1.1 基本概念1.2 编程语言1.3 编译器/解释器 2.学习编程的本质3.Python的介绍3.1 语言的分类3.2 Python3.3 Python的解释器种类&#xff08;了解&#xff09;3.4 CPython解释器的版本 4.环境搭建4.1 安装Python解释器4…

详解SpringCloud微服务技术栈:Nacos配置管理

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;详解SpringCloud微服务技术栈&#xff1a;Nacos服务搭建及服务分级存储模型 &#x1f4da;订阅专栏&#xff1a;微服务技术全家桶…

LaTeX系列1——主结构

初学&#xff0c;可交流&#xff0c;轻喷 \documentclass{book} \begin{document} \title{Book Title} \author{Author Name} \date{\today} \maketitle\chapter{Introduction} This is the introduction chapter of the book.\section{First Section} The first section of t…

学位论文中常用的参考文献格式

撰写学位论文中&#xff0c;要确保文献列表中列出的参考文献格式正确&#xff0c;为此这篇文章给出常用的参考文献格式。 目录 目录 一、学位论文中常用的文献类型&#xff1a; 1.1学位论文中常用的文献类型&#xff1a; 1.2作者名字的书写格式&#xff1a; 1.3特殊符号// …

JRTP实时音视频传输(1)-必做的环境搭建与demo测试

1.需求 1&#xff09;支持协议自动切换。在网络优的情况下使用TCP、网络差的情况下使用UDP&#xff0c;满足实时音视频传输需求&#xff0c; 2&#xff09;支持RTCP &#xff0c;流量控制&#xff0c;阻塞控制等。需要能支持RTCP&#xff0c;这样便能在这个基础上&#xff0c;…

人工智能 | 生成式 AI 如何重塑开发流程和开发工具?

生成式 AI 如何重塑开发流程和开发工具&#xff1f; 生成式人工智能&#xff08;Generative Artificial Intelligence&#xff0c;GAI&#xff09;是一种基于大规模数据训练学习&#xff0c;从而生成新的原创内容的人工智能。生成式人工智能可以生成各种形式的数据&#xff0c…