今天在做一个登录界面的时候,由于视觉给的页面背景图片太鲜艳亮眼,导致页面中间的登录表单框很不显眼,效果很差。就想到了做成毛玻璃的效果,现在分享出来,大家一起看看吧。
页面结构如下:
登录后复制
由于之前用过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;}
登录后复制
效果达成如下:
感谢大家的阅读,希望大家收益多多。
本文转自: https://blog.csdn.net/buttonChan/article/details/79889372
推荐教程:《CSS教程》
以上就是手把手教你CSS如何实现毛玻璃效果的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2885272.html