2012-10-17 74 views
0

我正在爲我正在處理的網站開發新的覆蓋屏幕技術。我想利用動畫到CSS,因爲它比JavaScript動畫更容易,更快。我正在做一些簡單的事情,但我在Chrome和Safari等基於webkit的瀏覽器方面遇到了問題。Webkit CSS-Animate是否包含僞元素?

這是我使用的代碼:

body:after { 
    content: ''; 
    width: 100%; 
    height: 100%; 
    background-color: #000; 
    position: fixed; 
    top: 0; 
    left: 0; 
    z-index: -1; 
    transition-duration: .5s; 
    -webkit-transition-duration: .5s; 
    opacity: 0; 
} 

body.dimmed:after { 
    z-index: 9999; 
    opacity: .7; 
} 

,你可以看到,它使用after僞元素,並根據它,它以動畫方式演出,或隱藏在身體類它。它適用於Firefox,但不適用於Chrome或Safari。在這些瀏覽器上,動畫不會發生,並且變化是即時的,這不是我想要的。如果採用相同的CSS的身體,而不是僞元素,動畫情況:

body { 
    content: ''; 
    width: 100%; 
    height: 100%; 
    background-color: #000; 
    position: fixed; 
    top: 0; 
    left: 0; 
    z-index: -1; 
    transition-duration: .5s; 
    -webkit-transition-duration: .5s; 
    opacity: 0; 
} 

body.dimmed { 
    z-index: 9999; 
    opacity: .7; 
} 

這讓我覺得,過渡並不適用於僞元素在Chrome。這應該報告爲一個錯誤?

回答

0

BTW,此刻的你可以嘗試使用這種技術:http://kizu.ru/en/pseudos/ - 通過觸發元素上的過渡本身,然後將值繼承到僞元素。這不適用於每個屬性(例如opacity),但是您可以使用using some imagination

+0

謝謝,我會研究一下。 – Buzu