CSS3 animation not working in Safari
You have encountered the problem of CSS3 animation not working in Safari. Although the animation works fine in all other browsers that support CSS3, it does not work properly in Safari. Here is your code:
HTML
<div>
CSS
.landing .board .right { width: 291px; height: 279px; background: url('../images/landing/key-pnl.png'); bottom: 16px; right: 250px; position: absolute; } .landing .board .right .key-arm { position: absolute; left: 44px; top: 18px; width: 41px; height: 120px; } /*=== Key Arm Animation ===*/ @-webkit-keyframes keyarm { 0% { -webkit-transform: rotate(0deg); } 5% { -webkit-transform: rotate(-14deg); } 10% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(0deg); } } @-moz-keyframes keyarm { 0% { -moz-transform: rotate(0deg); } 5% { -moz-transform: rotate(-14deg); } 10% { -moz-transform: rotate(0deg); } 100% { -moz-transform: rotate(0deg); } } @-ms-keyframes keyarm { 0% { -ms-transform: rotate(0deg); } 5% { -ms-transform: rotate(-14deg); } 10% { -ms-transform: rotate(0deg); } 100% { -ms-transform: rotate(0deg); } } @-o-keyframes keyarm { 0% { -o-transform: rotate(0deg); } 5% { -o-transform: rotate(-14deg); } 10% { -o-transform: rotate(0deg); } 100% { -o-transform: rotate(0deg); } } @keyframes keyarm{ 0% { transform: rotate(0deg); } 5% { transform: rotate(-14deg); } 10% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } } .right .key-arm{ -webkit-transform-origin: 12px 105px; -moz-transform-origin: 12px 105px; -ms-transform-origin: 12px 105px; -o-transform-origin: 12px 105px; transform-origin: 12px 105px; -webkit-animation: keyarm 8s ease-in-out 0s infinite; -moz-animation: keyarm 8s ease-in-out 4s infinite; -ms-animation: keyarm 8s ease-in-out 4s infinite; -o-animation: keyarm 8s ease-in-out 4s infinite; animation: keyarm 8s ease-in-out 0s infinite; }
You encounter in Safari The problem is as follows:
In Safari, keyframes are supported, but there is a limitation. You must use full percentages when declaring keyframes. For example, the following code will not run in Safari:
@-webkit-keyframes keyarm { 0% { -webkit-transform: rotate(0deg); } 5% { -webkit-transform: rotate(-14deg); } 10% { -webkit-transform: rotate(0deg); } }
The following code will run in Safari:
@-webkit-keyframes keyarm { 0% { -webkit-transform: rotate(0deg); } 5% { -webkit-transform: rotate(-14deg); } 10% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(0deg); } }
So, in order to solve your problem, you need to change the keyarm key The frames are updated to:
@-webkit-keyframes keyarm { 0% { -webkit-transform: rotate(0deg); } 5% { -webkit-transform: rotate(-14deg); } 10% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(0deg); } }
After updating, your animation will run normally in Safari.
The above is the detailed content of Why is my CSS3 animation not working in Safari?. For more information, please follow other related articles on the PHP Chinese website!