@keyframes 在 Firefox 或 IE 中不工作。仅限 Chrome
@keyframes not working in Firefox or IE. Only on Chrome
我的 p 标签中的文本在 Google Chrome 上与 @keyframes 动画一起使用,但在 Firefox and/or IE 上不起作用。我是 运行 最新版本的 Firefox,无法弄清楚为什么它不起作用。帮助将不胜感激。 p 标签内的文本应该从浏览器的左侧 window 移到中间。同样,它在 Chrome 中完美运行,但在 Firefox 和 IE 中是静态的。
h.h1 p {
margin-top: 25px;
font-size: 21px;
text-align: center;
animation-name: fromleft;
animation-duration: 2s;
animation-timing-function: ease;
-moz-animation-name: fromleft;
-moz-animation-duration: 2s;
-moz-animation-timing-function: ease;
-webkit-animation-name: fromleft; /* Safari, Chrome and Opera > 12.1 */
-webkit-animation-duration: 2s;
-webkit-animation-timing-function: ease;
-ms-animation-name: fromleft;
-ms-animation-duration: 2s;
-ms-animation-timing-function: ease;
}
@keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
/* Internet Explorer */
@-ms-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
}
/* Opera < 12.1 */
@-o-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
}
/* Firefox < 16 */
@-moz-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
这是我的 CSS
<div class="h1">
<h1> Some Text </h1>
<div>
<p> Some Text </P>
</div>
</div>
我认为问题在于 animation
(如 transition
)在 auto
值方面存在问题。但是下面的似乎在当前的Firefox中有效,只是不知道它是否符合您的需求:
@keyframes fromleft {
0% {
margin-left: -5000px;
}
50% {
margin-left: 0px;
}
100% {
/*margin-left: auto;
margin-right: auto;*/
}
}
这里是a codepen.
在您的示例中,这没有任何区别,因为文本无论如何都居中。在其他情况下,您必须为 <p>
本身或包装器指定固定值而不是 auto
。
我的 p 标签中的文本在 Google Chrome 上与 @keyframes 动画一起使用,但在 Firefox and/or IE 上不起作用。我是 运行 最新版本的 Firefox,无法弄清楚为什么它不起作用。帮助将不胜感激。 p 标签内的文本应该从浏览器的左侧 window 移到中间。同样,它在 Chrome 中完美运行,但在 Firefox 和 IE 中是静态的。
h.h1 p {
margin-top: 25px;
font-size: 21px;
text-align: center;
animation-name: fromleft;
animation-duration: 2s;
animation-timing-function: ease;
-moz-animation-name: fromleft;
-moz-animation-duration: 2s;
-moz-animation-timing-function: ease;
-webkit-animation-name: fromleft; /* Safari, Chrome and Opera > 12.1 */
-webkit-animation-duration: 2s;
-webkit-animation-timing-function: ease;
-ms-animation-name: fromleft;
-ms-animation-duration: 2s;
-ms-animation-timing-function: ease;
}
@keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
/* Internet Explorer */
@-ms-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
}
/* Opera < 12.1 */
@-o-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
}
/* Firefox < 16 */
@-moz-keyframes fromleft {
0% { margin-left: -5000px; }
50% { margin-left: 0px; }
100% { margin-left: auto ; margin-right: auto; }
这是我的 CSS
<div class="h1">
<h1> Some Text </h1>
<div>
<p> Some Text </P>
</div>
</div>
我认为问题在于 animation
(如 transition
)在 auto
值方面存在问题。但是下面的似乎在当前的Firefox中有效,只是不知道它是否符合您的需求:
@keyframes fromleft {
0% {
margin-left: -5000px;
}
50% {
margin-left: 0px;
}
100% {
/*margin-left: auto;
margin-right: auto;*/
}
}
这里是a codepen.
在您的示例中,这没有任何区别,因为文本无论如何都居中。在其他情况下,您必须为 <p>
本身或包装器指定固定值而不是 auto
。