2014-02-20 71 views
2

我試圖創建一個模糊/ unblur過渡時,單擊按鈕。webkit模糊過渡與定位元素

我已經設法使這個基本元素工作,但只要我添加任何類型的定位到unblur停止工作的元素。我創建了一個的jsfiddle顯示此 http://jsfiddle.net/NLpRy/

我目前使用

-webkit-filter: initial; 
filter: initial; 

設置初始「未模糊」狀態。

使用定位元素時,過濾器有錯誤嗎?

注意:我已經嘗試了下面的代碼,雖然它能工作,但我不能將它用作解決方案,因爲它會在其他地方打破我的其他動畫。

-webkit-filter: blur(0); 
filter: blur(0); 

回答

1

看起來像我的錯誤,一定會得到解決了一些未來的瀏覽器版本。與此同時,我使用3d技巧修復了它,transform:translateZ(0px);

.page { 
    -webkit-filter: none; 
    filter: none; 
    position: relative; 
    -webkit-transition: all 3s ease-out; 
    -moz-transition: all 1.3s ease-out; 
    -o-transition: all 1.3s ease-out; 
    transition: all 3s ease-out; 
    -webkit-transform: translateZ(0px); 
    transform: translateZ(0px); 
} 

fiddle

+0

哇,這是真棒!任何想法爲什麼添加translateZ修復它雖然? – kiwijus

+1

子元素沒有模糊,它是頁面。然後,瀏覽器必須將孩子的渲染鏈接到頁面的渲染。不知何故,當你在這裏使用它時,這在轉換中失敗了。使頁面在3D空間中進行轉換,還將兒童渲染鏈接到頁面渲染,並且這不會失敗 – vals