css3实现背景模糊的三种方式

css3实现背景模糊使用伪元素,因为伪元素的模糊度不会被父元素的子代继承。

Posted in HTML / CSS onMarch 09, 2021

一、普通背景模糊

<Style>
        html,
        body {
            width: 100%;
            height: 100%;
        }

        * {
            margin: 0;
            padding: 0;
        }

        /*背景模糊*/
        .bg {
            width: 100%;
            height: 100%;
            position: relative;
            background: url("./bg.jpg") no-repeat fixed;
            background-size: cover;
            box-sizing: border-box;
            filter: blur(2px);
            z-index: 1;
        }

        .content {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            text-align: center;
            z-index: 2;
        }
    </Style>
</head>

<body>
    <div class="bg">
        <div class="content">背景模糊</div>
    </div>
</body>

效果如下所示:

css3实现背景模糊的三种方式

 这样写会使整个div的后代模糊并且还会出现白边,导致页面非常不美观,要想解决这个问题,我们可以使用伪元素,因为伪元素的模糊度不会被父元素的子代继承。

<Style>
        html,
        body {
            width: 100%;
            height: 100%;
        }

        * {
            margin: 0;
            padding: 0;
        }

        /*背景模糊*/
        .bg {
            width: 100%;
            height: 100%;
            position: relative;
            background: url("./bg.jpg") no-repeat fixed;
            background-size: cover;
            box-sizing: border-box;
            z-index: 1;
        }

        .bg:after {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            /* 从父元素继承 background 属性的设置 */
            background: inherit;
            filter: blur(2px);
            z-index: 2;
        }


        .content {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            text-align: center;
            z-index: 3;
        }
    </Style>
</head>

<body>
    <div class="bg">
        <div class="content">背景模糊</div>
    </div>
</body>

效果如下所示:

css3实现背景模糊的三种方式

 

二、背景局部模糊

上一个效果会了之后,局部模糊效果就比较简单了。

<Style>
        html,
        body {
            width: 100%;
            height: 100%;
        }

        * {
            margin: 0;
            padding: 0;
        }

        /*背景模糊*/
        .bg {
            width: 100%;
            height: 100%;
            position: relative;
            background: url("./bg.jpg") no-repeat fixed;
            background-size: cover;
            box-sizing: border-box;
            z-index: 1;
        }

        .content {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
            background: inherit;
            z-index: 2;
        }

        .content:after {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: inherit;
            filter: blur(15px);
            /*为了模糊更明显,调高模糊度*/
            z-index: 3;
        }

        .content>div {
            width: 100%;
            height: 100%;
            text-align: center;
            line-height: 200px;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 4;
        }
    </Style>
</head>

<body>
    <div class="bg">
        <div class="content">
            <div>背景局部模糊</div>
        </div>
    </div>
</body>

效果如下图所示:

css3实现背景模糊的三种方式

 三、背景局部清晰

<Style>
        html,
        body {
            width: 100%;
            height: 100%;
        }

        * {
            margin: 0;
            padding: 0;
        }

        /*背景模糊*/
        .bg {
            width: 100%;
            height: 100%;
            position: relative;
            background: url("./bg.jpg") no-repeat fixed;
            background-size: cover;
            box-sizing: border-box;
            z-index: 1;
        }

        .bg:after {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: inherit;
            filter: blur(5px);
            z-index: 2;
        }

        .content {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            line-height: 200px;
            text-align: center;
            background: inherit;
            z-index: 3;
            box-shadow: 0 0 10px 6px rgba(0, 0, 0, .5);
        }
    </Style>
</head>

<body>
    <div class="bg">
        <div class="content">
            <div>背景局部清晰</div>
        </div>
    </div>
</body>

效果如下图所示:

css3实现背景模糊的三种方式

HTML / CSS 相关文章推荐
CSS3伪类选择器:nth-child()
Apr 02 HTML / CSS
Html5上传图片 移动端、PC端通用代码
Jun 08 HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
May 31 HTML / CSS
用canvas实现图片滤镜效果附演示
Nov 05 HTML / CSS
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
Jan 11 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
Jan 29 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
Mar 14 HTML / CSS
html5 div布局与table布局详解
Nov 16 HTML / CSS
使用phonegap播放音频的实现方法
Mar 31 HTML / CSS
详解android与HTML混合开发总结
Jun 06 HTML / CSS
HTML5 FileReader对象的具体使用方法
May 22 HTML / CSS
CSS中实现动画效果-附案例
Feb 28 HTML / CSS
HTML5如何适配 iPhone IOS 底部黑条
CSS3画一个阴阳八卦图
CSS中一些@规则的用法小结
Mar 09 #HTML / CSS
a标签的css样式四个状态
Mar 09 #HTML / CSS
详解CSS样式中的 !important * _ 符号
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
CSS心形加载的动画源码的实现
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
php 邮件发送问题解决
2014/03/22 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
JavaScript Function函数类型介绍
2015/04/08 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
python安装Scrapy图文教程
2017/08/14 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
python文件操作的简单方法总结
2019/11/07 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
工商管理应届生求职信
2013/10/07 职场文书
基层党员群众路线教育实践活动个人对照检查材料思想汇报
2014/10/05 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
css弧边选项卡的项目实践
2023/05/07 HTML / CSS
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL