我在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>
答案 0 :(得分:1)
问题是.loading
使用display: table;
而没有实际指定宽度或高度。使用这样的表来暗示大小有点hacky。 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;
}