2017-11-06 21 views
0

単純なCSSベースの読み込みアニメーションは、infiniteと繰り返す必要があります。ただし、アニメーションは1回だけ実行され、停止します。私は確かに何かを逃しているが、エラーを見つけることはできません。CSS単純読み込みアニメーションは反復されません

関連する質問は、CSSを短縮するために、以下の例のようにベンダー固有のセレクタをすべて1つのブロックに参加させることはできますか?

@keyframes loading-dots, 
@-webkit-keyframes loading-dots, 
@-[other vendors...] 
{ 
    0%, 
    100% { 
    visibility: hidden; 
    } 
    50% { 
    visibility: visible; 
    } 
} 

ご協力いただきまして誠にありがとうございます。ここで

がスニペットです:

.loading-dots span { 
 
    display: inline-block; 
 
    height: 9px; 
 
    width: 9px; 
 
    background: #abb3b8; 
 
    -webkit-animation: loading-dots 0.8s infinite; 
 
    -moz-animation: loading-dots 0.8s infinite; 
 
    -ms-animation: loading-dots 0.8s infinite; 
 
    animation: loading-dots 0.8s infinite; 
 
} 
 

 
.loading-dots span:nth-child(2) { 
 
    visibility: hidden; 
 
    -webkit-animation-delay: 0.2s; 
 
    -moz-animation-delay: 0.2s; 
 
    -ms-animation-delay: 0.2s; 
 
    animation-delay: 0.2s; 
 
} 
 

 
.loading-dots span:nth-child(3) { 
 
    visibility: hidden; 
 
    -webkit-animation-delay: 0.4s; 
 
    -moz-animation-delay: 0.4s; 
 
    -ms-animation-delay: 0.4s; 
 
    animation-delay: 0.4s; 
 
} 
 

 
@keyframes loading-dots { 
 
    0%, 
 
    100% { 
 
    visibility: hidden; 
 
    } 
 
    50% { 
 
    visibility: visible; 
 
    } 
 
} 
 

 
@-webkit-keyframes loading-dots { 
 
    0%, 
 
    100% { 
 
    visibility: hidden; 
 
    } 
 
    50% { 
 
    visibility: visible; 
 
    } 
 
} 
 

 
@-moz-keyframes loading-dots { 
 
    0%, 
 
    100% { 
 
    visibility: hidden; 
 
    } 
 
    50% { 
 
    visibility: visible; 
 
    } 
 
} 
 

 
@-ms-keyframes loading-dots { 
 
    0%, 
 
    100% { 
 
    visibility: hidden; 
 
    } 
 
    50% { 
 
    visibility: visible; 
 
    } 
 
}
<div class="loading-dots"> 
 
    <span></span> 
 
    <span></span> 
 
    <span></span> 
 
</div>

+0

私はあなたのフレームがすべて消えるフレームを追加したいと思います。今すぐ、彼らは再配置するときに置いて点滅し続けます。 – jmargolisvt

+0

ありがとう@jmargolisvt、私はそれが反復よりも90%のキーフレームを設定すると正しいと思います。最初の四角は入れたままにしておき、2番目と3番目の四角形を点滅させたい。キーフレームの変更に加え、遅延を伴ったいくつかの変化は、私に望ましい効果を与えるはずです。 – jfeferman

答えて

1

私は、任意の可視性のアニメーションで不透明度を使用することをお勧め不透明で以下のコードをチェックし... visibilitydisplayをアニメーション化することは、彼らのように良いアイデアではありませんので、アニメーションすることはできません1/0値は

.loading-dots span { 
 
    display: inline-block; 
 
    opacity:0; 
 
    height: 9px; 
 
    width: 9px; 
 
    background: #abb3b8; 
 
    -webkit-animation: loading-dots 0.8s infinite; 
 
    -moz-animation: loading-dots 0.8s infinite; 
 
    -ms-animation: loading-dots 0.8s infinite; 
 
    animation: loading-dots 0.8s infinite; 
 
} 
 

 
.loading-dots span:nth-child(2) { 
 
    -webkit-animation-delay: 0.2s; 
 
    -moz-animation-delay: 0.2s; 
 
    -ms-animation-delay: 0.2s; 
 
    animation-delay: 0.2s; 
 
} 
 

 
.loading-dots span:nth-child(3) { 
 
    -webkit-animation-delay: 0.4s; 
 
    -moz-animation-delay: 0.4s; 
 
    -ms-animation-delay: 0.4s; 
 
    animation-delay: 0.4s; 
 
} 
 

 
@keyframes loading-dots { 
 
    0% { 
 
    opacity:0; 
 
    } 
 
    100% { 
 
    opacity:1; 
 
    } 
 
} 
 

 
@-webkit-keyframes loading-dots { 
 
    0% { 
 
    opacity:0; 
 
    } 
 
    100% { 
 
    opacity:1; 
 
    } 
 
} 
 

 
@-moz-keyframes loading-dots { 
 
    0%{ 
 
    opacity:0; 
 
    } 
 
    100% { 
 
    opacity:1; 
 
    } 
 
} 
 

 
@-ms-keyframes loading-dots { 
 
    0% { 
 
    opacity:0; 
 
    }, 
 
    100% { 
 
    opacity:1; 
 
    } 
 
}
<div class="loading-dots"> 
 
    <span></span> 
 
    <span></span> 
 
    <span></span> 
 
</div>

+0

@AmrLabibありがとうございます。 '可視性'はアニメーション内で切り替えることができますが、私は '不透明度'を使うとより視覚的に好ましい解決策になると思います。 – jfeferman

関連する問題