CSS3 filter滤镜详解

CSS3 filter滤镜详解


因为filter是css3新属性,所以我们在介绍它之前先简单看一下它的兼容性(图片来源于菜鸟教程):
在这里插入图片描述
那么我们开始介绍一下filter的几个属性:

1、filter:blur(px) 高斯模糊

这个属性很简单是给图像设置高斯模糊,括号中数值越大那么图像越模糊。
写个例子:

<style type="text/css">
	img{
		height: 100px;
		width: 200px;
	}
	div{
		filter: blur(3px);
	}
</style>
<body>
	<div>
		<img src="1.jpg" >
		<span>
			这是一张图片
			<p>p标签</p>
		</span>
	</div>
</body>

在这里插入图片描述
就如效果图上所显示的,这个属性会影响到这个标签下面所有的子代元素。

2、filter:brightness(%) 亮度调节

说简单点这个属性用于调节图像亮度,值位于0和1之间,默认是1(正常亮度),数值越小亮度越低,到达0时为黑色。
例:

div{
	color: red;
	filter: brightness(50%);
	}

效果图如下:
在这里插入图片描述
html和上面相同,这里不做复制,看效果图就很容易理解,图像很明显变暗,字体颜色设置的红色,这里变成黑红,说明对子代同样有效。

3、filter:contrast(%) 对比度调节

这个属性调节的是图像当中的对比度,取值同brightness,为了我们看的更清晰,我换了一张图片,请看案例:

<style type="text/css">
	img{
		height: 100px;
		width: 200px;
	}
	img:nth-of-type(2){
		filter: contrast(50%)	;
	}
	div{
		color: red;
		filter: brightness(50%);
	}
</style>
<body>
	<p>原图</p>
	<img src="2.jpg" />
	<p>contrast(50%)</p>
	<img src="2.jpg" >
	<div>
		<p>brightness(50%)</p>
		<img src="2.jpg" >
		<span>
			这是一张图片
			<p>p标签</p>
		</span>
	</div>
</body>

效果图如下:
在这里插入图片描述

4、 filter:drop-shadow(offset-x offset-y blur spread color) 阴影设置

这个属性可设置图像阴影,类似于box-shadow,所以她的五个参数分别是,x偏移量、y偏移量、模糊程度(值越小图像越清晰)、阴影大小、颜色。注意: Webkit, 以及一些其他浏览器 不支持第四个长度,如果加了也不会渲染。
注意如果加上了这个属性值,那么drop-shadow不能够使用
例:

div{
	color: red;
	filter: drop-shadow(10px 10px 5px red);
}

效果图:
在这里插入图片描述
通过filter滤镜,一些浏览器为了更好的性能会提供硬件加速。

5、filter:grayscale(%) 灰度

使图像变成灰度样式,值同样是0-1;
例:

div{
	color: red;
	filter: grayscale(80%);
}

效果图:
在这里插入图片描述

6、filter:hue-rotate(deg) 应用色旋转

这个属性需要大家去做一下案例才比较好理解,给图像应用色相旋转,相当于是一些应用色来相互转换。默认值为0deg。
例:

div{
	color: red;
	filter: hue-rotate(180deg);
}

效果图:
在这里插入图片描述
可比较上面的原图。

7、filter:invert(%) 反转图像输入

反转输入图像.数值为超过50%之前,慢慢递增图像逐渐变得模糊,超过50%以后,数值满满递增,图像开始反向清晰。
例:

div{
	color: red;
	filter: invert(100%);
}

效果图:
在这里插入图片描述

8、filter:opacity(%) 透明度

这个属性大家很熟悉是关于透明度的,和直接使用opacity(%)不同的是,使用filter后 一些浏览器为了提升性能会提供硬件加速。
例:

div{
	color: red;
	filter: opacity(50%)
}

效果图:
在这里插入图片描述

9、filter:saturate(%) 饱和度

转化图像的饱和度,数值为0-100%,由于本人对这些东西不是特别敏感,所以大家自行理解。(原图为饱和度100%,饱和度逐渐降低,图像变得越来越不清晰)
例:

<style type="text/css">
	img{
		height: 100px;
		width: 200px;
	}
	div{
		color: red;
		filter: saturate(50%);
	}
</style>
<body>
	<p>原图</p>
	<img src="2.jpg" >
	<div>
		<p>saturate(50%)</p>
		<img src="2.jpg" >
		<span>
			这是一张图片
			<p>p标签</p>
		</span>
	</div>
</body>

效果图:
在这里插入图片描述

10、filter:sepia(%) 褐色转化

将图像转换为深褐色。其实类似于灰度,只是转变的颜色不同而已,默认值为0.
例:

div{
	color: red;
	filter: sepia(50%);
}

效果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值