如何实现CSS毛玻璃效果

本篇文章给大家分享的是有关如何实现CSS毛玻璃效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联公司是一家专注于成都网站设计、成都网站建设、外贸网站建设与策划设计,天心网站建设哪家好?创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:天心等地区。天心做网站价格咨询:028-86922220

今天在做一个登录界面的时候,由于视觉给的页面背景图片太鲜艳亮眼,导致页面中间的登录表单框很不显眼,效果很差。就想到了做成毛玻璃的效果,现在分享出来,大家一起看看吧。

页面结构如下:

由于之前用过CSS filter属性,在属性值中使用blur()函数可以起到毛玻璃效果,所以我有2个思路来实现突出登录表单框的效果:

  • 对wrap-box使用filter:blur();,然后将login-box的z-index设置为比父元素大使之浮在上层,使页面中除了登录表单框部分都是模糊的。

Exciting!这种方法似乎可行,但是效果却不是所期望的,login-box也被模糊了!原因如下:

应用了filter:blur();的元素的所有子孙元素都会被模糊处理(不是因为继承),即使子孙元素脱离了该元素的文档流也不能避免。

  • 只对login-box背后部分模糊处理。解决方案是在login-box下层加一个与之重叠的元素,对此元素应用filter:blur();,可以选择用伪元素:
.login-box::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	filter:blur(10px) contrast(.8);
	z-index:-1;
}

并设置如下背景样式:

.wrap-box ,.login-box::before{
	background:url('/assets/login_bg.jpg') 0 / cover fixed;
}

效果达成如下:

如何实现CSS毛玻璃效果

以上就是如何实现CSS毛玻璃效果,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


本文标题:如何实现CSS毛玻璃效果
链接地址:http://myzitong.com/article/peicso.html