加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – CSS模糊并使用绝对div保留锐利边缘

发布时间:2020-12-14 19:30:31 所属栏目:资源 来源:网络整理
导读:如果img未设置为绝对值,这可以正常工作: div img { filter: blur(5px); -webkit-filter: blur(5px); -moz-filter: blur(5px); -o-filter: blur(5px); -ms-filter: blur(5px); margin: -5px -10px -10px -5px;}div { margin: 20px; overflow: hidden;} 示例
如果img未设置为绝对值,这可以正常工作:
div img {
    filter: blur(5px);
        -webkit-filter: blur(5px);
        -moz-filter: blur(5px);
        -o-filter: blur(5px);
        -ms-filter: blur(5px);
    margin: -5px -10px -10px -5px;
}
div {
    margin: 20px;
    overflow: hidden;
}

示例工作罚款:http://jsfiddle.net/ThinkingStiff/b8fLU/(取自另一个问题)

但是,如果我想用一个绝对的div使用背景图像呢?

<div id="background"></div>

#background {
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 100%;
    width: 100%;
    filter: blur(5px) brightness(0.75);
    -webkit-filter: blur(5px) brightness(0.75);
    -moz-filter: blur(5px) brightness(0.75);
    -ms-filter: blur(5px) brightness(0.75);
    -o-filter: blur(5px) brightness(0.75);
    position: absolute;
    background-image: url('images/bg.png');
    z-index: 1;
}

使用上面的设置,如何实现相同的效果(模糊但具有尖锐边缘)?

解决方法

把你的模糊元素放在一个这样的容器中:
<div class="container">
    <div id="background"></div>
</div>

而不是使用高度:100%和宽度:100%使用如下:

.container{
    position:relative;
    width:300px;          /* this is an example */
    height:300px;         /* this is an example */
    overflow:hidden;
}

#background {
    left:-15px;
    right:-15px;
    top:-15px;
    bottom:-15px;
    /* other styles */
}

您需要从元素的每一边删除15px(或更多/更少).

DEMOFull DEMO

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读