2016-08-14 64 views
0

我用下面的CSS属性设置blur效果:如何在没有白光的情况下制作模糊效果?

-webkit-filter: blur(5px); 
    -moz-filter: blur(5px); 
    -o-filter: blur(5px); 
    -ms-filter: blur(5px); 
    filter: blur(5px); 

它使div元素blur,但我看到在块的角处的白光,我怎样才能使blur effect没有他们?

回答

4

以除去在纯CSS方式边缘模糊的唯一方法是通过变焦一点点然后用overflow: hidden裁剪边缘加入到容器中的元件:

.container { 
 
    overflow: hidden; 
 
    border: 1px solid red; 
 
    display: inline-block; 
 
} 
 

 
.blur { 
 
    -webkit-filter: blur(5px); 
 
    -moz-filter: blur(5px); 
 
    -o-filter: blur(5px); 
 
    -ms-filter: blur(5px); 
 
    filter: blur(5px); 
 
    transform-origin: 50%; 
 
    transform: scale(1.3); 
 
}
<div class="container"> 
 
    <div class="blur"> 
 
    <img src="http://lorempixel.com/700/300" alt=""> 
 
    </div> 
 
</div>

的jsfiddle :https://jsfiddle.net/azizn/7v0mtfyn/

+1

虽然使用模糊背景时要小心。 transform:scale();在整个页面背景使得卷动非常滞后,无论是在Macbook和iPhone上。在这种情况下,解决方案是让背景稍微大一点(比方说110%),并将其放置在距离边缘几个像素处:溢出:隐藏; – Honza

+0

不错,它是完美的答案,但你可以看看我的代码为什么它不起作用,当我使用相同的CSS代码[jsfiddle链接](https://jsfiddle.net/mostofa/Ly7Lht3a/1/) –

+0

感谢@Honza for您的信息 –

相关问题