2016-08-14 62 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您的信息 –

相關問題