CSS3 动画变换旋转在 Firefox 中不起作用
CSS3 animation transform rotate not working in Firefox
我在 codepen.io 中找到了这个动画。一切正常,但当我在 firefox 中测试时,动画不工作。
该代码已经有浏览器前缀,所以我不知道什么在 FF 中不起作用。
<!DOCTYPE html>
<html>
<head>
<style>
.loading {
margin-left:auto;
margin-right:auto;
display:table;
border-width:30px;
border-radius:50%;
-webkit-animation:spin 1s linear infinite;
-moz-animation:spin 1s linear infinite;
-o-animation:spin 1s linear infinite;
animation:spin 1s linear infinite;
}
.style-1 {
border-style:solid;
border-color:#001e60 transparent
}
.style-2 {
border-style:double;
border-color:#001e60 transparent;
}
.style-3 {
border-style:double;
border-color:#001e60 #fff #fff;
}
@-webkit-keyframes spin {
100% {
-webkit-transform:rotate(359deg);
}
}
@-moz-keyframes spin {
100% {
-moz-transform:rotate(359deg);
}
}
@-o-keyframes spin {
100% {
-moz-transform:rotate(359deg);
}
}
@keyframes spin {
100% {
transform:rotate(359deg);
}
}
</style>
</head>
<body>
<div style="display: block;" class="loading-container">
<span id="loadingIndicator" class="loading style-3"></span>
</div>
</body>
</html>
问题是让 .loading
使用 display: table;
而没有实际指定宽度或高度。使用像这样的 table 来暗示大小有点老套。 Chrome 对这些维度的解释与 Firefox 不同。最好使用 css 明确地给它一个大小。尝试将其更改为宽度和高度如下的块:
.loading {
margin-left:auto;
margin-right:auto;
display:block;
border-width:30px;
border-radius:50%;
height: 5px;
width: 5px;
-webkit-animation:spin 1s linear infinite;
-moz-animation:spin 1s linear infinite;
-o-animation:spin 1s linear infinite;
animation:spin 1s linear infinite;
}
我在 codepen.io 中找到了这个动画。一切正常,但当我在 firefox 中测试时,动画不工作。
该代码已经有浏览器前缀,所以我不知道什么在 FF 中不起作用。
<!DOCTYPE html>
<html>
<head>
<style>
.loading {
margin-left:auto;
margin-right:auto;
display:table;
border-width:30px;
border-radius:50%;
-webkit-animation:spin 1s linear infinite;
-moz-animation:spin 1s linear infinite;
-o-animation:spin 1s linear infinite;
animation:spin 1s linear infinite;
}
.style-1 {
border-style:solid;
border-color:#001e60 transparent
}
.style-2 {
border-style:double;
border-color:#001e60 transparent;
}
.style-3 {
border-style:double;
border-color:#001e60 #fff #fff;
}
@-webkit-keyframes spin {
100% {
-webkit-transform:rotate(359deg);
}
}
@-moz-keyframes spin {
100% {
-moz-transform:rotate(359deg);
}
}
@-o-keyframes spin {
100% {
-moz-transform:rotate(359deg);
}
}
@keyframes spin {
100% {
transform:rotate(359deg);
}
}
</style>
</head>
<body>
<div style="display: block;" class="loading-container">
<span id="loadingIndicator" class="loading style-3"></span>
</div>
</body>
</html>
问题是让 .loading
使用 display: table;
而没有实际指定宽度或高度。使用像这样的 table 来暗示大小有点老套。 Chrome 对这些维度的解释与 Firefox 不同。最好使用 css 明确地给它一个大小。尝试将其更改为宽度和高度如下的块:
.loading {
margin-left:auto;
margin-right:auto;
display:block;
border-width:30px;
border-radius:50%;
height: 5px;
width: 5px;
-webkit-animation:spin 1s linear infinite;
-moz-animation:spin 1s linear infinite;
-o-animation:spin 1s linear infinite;
animation:spin 1s linear infinite;
}