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

前端之家收集整理的这篇文章主要介绍了html – CSS模糊并使用绝对div保留锐利边缘前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果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

原文链接:https://www.f2er.com/html/224414.html

猜你在找的HTML相关文章