我正在爲我正在處理的網站開發新的覆蓋屏幕技術。我想利用動畫到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。這應該報告爲一個錯誤?
謝謝,由於某種原因,我無法找到有關該行爲的任何信息。我很驚訝他們沒有修復這個bug。 – Buzu