• 技术文章 >web前端 >css教程

    css3如何实现图片的高斯模糊效果?CSS3 Filter(滤镜)实现(代码实例)

    青灯夜游青灯夜游2018-09-19 17:23:32原创8176
    本章给大家介绍用css3如何实现图片的高斯模糊效果,CSS3 Filter(滤镜)实现对图片元素模糊处理;让大家了解如何设置图片元素的模糊效果,通过实例介绍filter实现图片高斯模糊的三种效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    一、什么是filter (滤镜)

    CSS3 Filter(滤镜)属性定义了元素(通常是<img>)的可视效果,提供了模糊和改变元素颜色的功能。CSS3 Fitler 常用于调整图像的渲染、背景或边框显示效果。

    浏览器支持:

    -webkit-filter是css3的一个属性,Webkit率先支持了这几个功能,感觉效果很不错。

    1.jpg

    表格中的数字表示支持该方法的第一个浏览器的版本号。

    紧跟在数字后面的 -webkit- 为指定浏览器的前缀。

    注意: 旧版 Internet Explorer 浏览器(4.0 to 8.0) 支持的非标准 "filter" 属性已被废弃。 IE8 及更低版本浏览器通常使用css opacity 属性

    下面看看filter这个属性,现在规范中支持的效果:

    1. grayscale(灰度):值为0-1之间的小数

    2. sepia(褐色):值为0-1之间的小数

    3. saturate(饱和度):值为num

    4. hue-rotate(色相旋转):值为angle

    5. invert(反色):值为0-1之间的小数

    6. opacity(透明度):值为0-1之间的小数

    7. brightness(亮度):值为0-1之间的小数

    8. contrast(对比度):值为num

    9. blur(模糊):值为length(radius)

    10. drop-shadow(阴影)

    实现模糊效果的filter 语法:

    filter: blur();

    blur()给图像设置高斯模糊。"length(radius)"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊;如果没有设定值,则默认是0;这个参数可设置css长度值,但不接受百分比值。

    二、图片模糊的三种效果

    原图:

    2.png

    1.css普通图片模糊效果(整张图片全模糊)

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title>图片模糊</title>
    		<style>
    			.bg {
    				width: 1240px;
    				height: 592px;
    				position: relative;
    				background: url("2.png") no-repeat fixed;
    				padding: 1px;
    				box-sizing: border-box;
    				z-index: 1;
    			}
    			
    			.bg:after {
    				content: "";
    				width: 100%;
    				height: 100%;
    				position: absolute;
    				left: 0;
    				top: 0;
    				background: inherit;
    				filter: blur(2px);
    				z-index: 2;
    			}
    			
    			.drag {
    				position: absolute;
    				left: 50%;
    				top: 50%;
    				transform: translate(-50%, -50%);
    				width: 200px;
    				height: 200px;
    				text-align: center;
    				z-index: 11;
    			}
    		</style>
    	</head>
    
    	<body>
    		<div class="bg"></div>
    	</body>
    
    </html>

    效果图:

    1.jpg

    2.css图片局部模糊效果

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title>图片模糊</title>
    		<style>
    			.bg {
    				width: 1240px;
    				height: 592px;
    				background: url("2.png") no-repeat fixed;
    				padding: 1px;
    				box-sizing: border-box;
    				z-index: 1;
    			}
    			
    			.drag {
    				margin: 100px auto;
    				width: 300px;
    				height: 300px;
    				background: inherit;
    				position: relative;
    				text-align: center;
    			}
    			
    			.drag>div {
    				width: 100%;
    				height: 100%;
    				text-align: center;
    				line-height: 200px;
    				position: absolute;
    				left: 0;
    				top: 0;
    				z-index: 11;
    			}
    			
    			.drag:after {
    				content: "";
    				width: 100%;
    				height: 100%;
    				position: absolute;
    				left: 0;
    				top: 0;
    				background: inherit;
    				filter: blur(30px);/*为了模糊更明显,调高模糊度*/
    				z-index: 2;
    			}
    		</style>
    	</head>
    
    	<body>
    		<div class="bg">
    			<div class="drag">like window</div>
    		</div>
    	</body>
    
    </html>

    效果图:

    2.jpg

    3.css图片局部清晰效果

    <!DOCTYPE html>
    <html>
    
    	<head>
    		<meta charset="UTF-8">
    		<title>图片模糊</title>
    		<style>
    			.bg {
    				width: 1240px;
    				height: 592px;
    				background: url("2.png") no-repeat fixed;
    				padding: 1px;
    				box-sizing: border-box;
    				z-index: 1;
    			}
    			
    			.bg:after {
    				content: "";
    				width: 100%;
    				height: 100%;
    				position: absolute;
    				left: 0;
    				top: 0;
    				background: inherit;
    				filter: blur(3px);
    				z-index: 1;
    			}
    			
    			.drag {
    				position: absolute;
    				left: 40%;
    				top: 30%;
    				/*transform: translate(-50%,-50%);*/
    				width: 200px;
    				height: 200px;
    				text-align: center;
    				background: inherit;
    				z-index: 11;
    				box-shadow: 0 0 10px 6px rgba(0, 0, 0, .5);
    			}
    		</style>
    	</head>
    
    	<body>
    		<div class="bg">
    			<div class="drag">like window</div>
    		</div>
    	</body>
    
    </html>

    效果图:

    3.jpg

    以上就是css3如何实现图片的高斯模糊效果?CSS3 Filter(滤镜)实现(代码实例)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:filter 滤镜 css3
    上一篇:关于CSS hack的一些小知识 下一篇:图文详解怎么去除HTML超链接的下划线
    大前端线上培训班

    相关文章推荐

    • css滤镜效果(二)_基础教程• css基础教程之滤镜效果• CSS3中filter滤镜的学习笔记(静态滤镜及动态滤镜)• css滤镜属性语法介绍_基础教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网