百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
博主最大Lv63   
手把手教你CSS如何实现毛玻璃效果     

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

页面结构如下:

1

2

3

4

<p class="wrap-box"><!--最外层包裹框,背景图片很鲜艳亮眼position:fixed-->

    <p class='login-box'><!--登录表单框部分position:fixed-->

        </p>

</p>

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

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

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

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

  • 只对login-box背后部分模糊处理。解决方案是在login-box下层加一个与之重叠的元素,对此元素应用filter:blur(<blur_size>);,可以选择用伪元素:

1

2

3

4

5

6

7

8

9

10

.login-box::before{

    content:'';

    position:absolute;

    top:0;

    left:0;

    right:0;

    bottom:0;

    filter:blur(10px) contrast(.8);

    z-index:-1;

}

并设置如下背景样式:

1

2

3

.wrap-box ,.login-box::before{

    background:url('/assets/login_bg.jpg') 0 / cover fixed;

}

效果达成如下:


感谢大家的阅读,希望大家收益多多。

本文转自: https://blog.csdn.net/buttonChan/article/details/79889372

推荐教程:《CSS教程

以上就是手把手教你CSS如何实现毛玻璃效果的详细内容

 0  已被阅读了1498次  楼主 2020-07-10 13:23:34
回复列表

回复:手把手教你CSS如何实现毛玻璃效果

联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:18.116.13.113,2024-04-26 13:39:57,Processed in 0.01722 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
已有0次打赏
(0) 分享
分享
取消
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com