cssアニメーションを複数使用するにはどうしたら良いですか?

ふわふわアニメーションとコメントのフェードアウト 2つのアニメーション同時使用は可能でしょうか?

@keyframes fuwa{
0%,100% { transform:translateY( 0px ); }
50% { transform:translateY( 5px ); }
}.comment { animation: 3s fuwa infinite; }

@keyframes timerout{
100% { transform:translateX( 200% ); opacity: 0;}
}.comment { animation: 0.1s ease 5s timerout forwards; }

対象: わんコメ
表示画面: OBS
利用OS: Windows
利用バージョン: わんコメ
過去ログ確認: した
ドキュメント確認( Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. ): した

1 Like

毎度ご質問ありがとうございます !
件の複数使用に関しまては、ちょっと一筋縄にはいかないようです。


まず、複数指定する方法はちゃんとあります。
ですが実情としましては、複数指定ができたとしても、
アニメーション同士で邪魔し合って、
多くの場合はうまく動かないことが多いものと思われます。

こういった問題を解決するためには、
若干の知識とクリエイティブなところが必要になってきますので、

(中略)

ですので「CSSアニメーションを同じところに複数使いたい」というのは、
自己解決するにはちょっと敷居は高めになるかと思われます。
つきましては(難しそうな場合は)
「詳しい方に複数アニメーションのミックスをご依頼・ご相談いただく」
といった解決方法を取られるのがベターかなと。

その上で、今回の場合は、

@keyframes timerout{
  100% { margin-left:-100%; opacity: 0;}
}
@keyframes fuwa{
  0%,100% { transform:translateY( 0px ); }
  50% { transform:translateY( 5px ); }
}
.comment {
  animation:
    1s ease 3s timerout forwards,
    3s fuwa infinite;
}

という風な記述で解決できるのではないかと思われます。
※後学のために、特筆事項としましては、
.commentでの指定を一括にして、アニメーションを複数指定している点と、
transform:translateYというパラメーターが重複して取り合いになっていたので
片方をmargin-leftというパラメーターで代替しました。


以上、よろしくお願いします!

蛇足

なお、カスタマイズの相談をされる際には、トピックを立てるときのカテゴリを「カスタマイズ」にしていただけますと、マッチング的な観点からより分かりやすくなると思いますのでご活用いただけましたら :paw_prints:

1 Like