我想對可見性CSS屬性執行基於關鍵幀的動畫。我最初在'display'上試過,但發現'display'上的動畫不支持,但'visibility'是。這個想法是讓矩形的可視性保持切換。我不想使用jquery,並希望在CSS中實現它。以下是我的代碼,但它並沒有給矩形的預期效果剩餘隱藏,直到第5秒,出現,然後再在動畫結束CSS可見性動畫不工作
<head>
<style type="text/css">
#layer1 {
-moz-animation-duration: 10s;
-moz-animation-name: toggle;
}
@-moz-keyframes toggle {
from {
visibility:hidden;
}
50% {
visibility:visible;
}
to {
visibility:hidden;
}
}
</style>
<script type="application/javascript">
window.onload = function()
{
var c = document.getElementById('layer1');
var ctxt = c.getContext('2d');
ctxt.fillStyle = 'red';
ctxt.fillRect(0,0,200,200);
ctxt.fillStyle = 'green';
ctxt.fillRect(0,0,100,100);
}
</script>
<body>
<canvas id="layer1" width="200" height="200" >
</canvas>
</body>
</html>
根據http://www.w3.org/TR/css3-transitions/#animatable-properties- visibility是一個動畫屬性。即使Safari文檔提到可見性可以是動畫http://developer.apple.com/library/safari/#documentation/InternetWeb/Conceptual/SafariVisualEffectsProgGuide/Transitions/Transitions.html#//apple_ref/doc/uid/TP40008032-CH4 -SW1。我甚至在2009年看到了一個針對Mozilla的BUG修復程序,它修復了關於可見性 – Raks
可見性的動畫,對。但不要創造視覺效果。你必須用「真實」動畫屬性來使用它。何時以及如何將可見性用作動畫屬性,可以參閱@ http://www.greywyvern.com/?post=337 –