最近我在使用CSS3動畫時,遇到了一些奇怪的問題:我的CSS3動畫無法正常工作!
// 我的CSS3動畫代碼 div { width: 200px; height: 200px; background: red; animation: myAnimation 2s linear infinite; } @keyframes myAnimation { 0% { transform: translateX(0); } 50% { transform: translateX(200px); } 100% { transform: translateX(0); } }
我檢查了代碼,發現一切都沒有問題。然后我開始檢查其他可能引起問題的因素。最終,我發現了問題的所在 —— 我必須指定瀏覽器所需的前綴!
// 為了確保跨瀏覽器兼容性,需要使用 -webkit-, -moz- 和 -o- 前綴 div { width: 200px; height: 200px; background: red; -webkit-animation: myAnimation 2s linear infinite; -moz-animation: myAnimation 2s linear infinite; -o-animation: myAnimation 2s linear infinite; animation: myAnimation 2s linear infinite; } @-webkit-keyframes myAnimation { 0% { -webkit-transform: translateX(0); } 50% { -webkit-transform: translateX(200px); } 100% { -webkit-transform: translateX(0); } } @-moz-keyframes myAnimation { 0% { -moz-transform: translateX(0); } 50% { -moz-transform: translateX(200px); } 100% { -moz-transform: translateX(0); } } @-o-keyframes myAnimation { 0% { -o-transform: translateX(0); } 50% { -o-transform: translateX(200px); } 100% { -o-transform: translateX(0); } } @keyframes myAnimation { 0% { transform: translateX(0); } 50% { transform: translateX(200px); } 100% { transform: translateX(0); } }
當我添加前綴后,CSS3動畫終于正常工作了!我意識到前綴是必要的,因為不同的瀏覽器支持不同的CSS3屬性。為了確保CSS3動畫跨瀏覽器兼容,我們必須添加必要的前綴。
在編寫CSS3動畫時,一定要記得添加必要的前綴。如果你的CSS3動畫無效,可以先檢查是否添加了必要的前綴來解決這個問題。
上一篇css3動畫前端