質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

895閲覧

cssにて、animationでスライドインした要素にhoverで別animationを使用したい

3owK

総合スコア1

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/11/30 01:37

編集2021/11/30 01:43

前提・実現したいこと

cssにて、animationでスライドインした要素にhoverで別animationを使用したいです

発生している問題・エラーメッセージ

hoverのanimationでもスライドインしたものと同じanimationになってしまいます

該当のソースコード

HTML

1<div class="circle"> 2 <div class="circle_pink"></div> 3 <div class="circle_white" ></div> 4 <div class="circle_green"></div> 5</div> 6

CSS

1/* スライドインアニメーション */ 2.circle > div { 3 opacity: 0; 4} 5.circle_pink { 6 animation: dango 1.6s 0.6s forwards; 7} 8.circle_white { 9 animation: dango 1.9s 0.3s forwards; 10} 11.circle_green { 12 animation: dango 2.2s 0s forwards; 13} 14 15@keyframes dango { 16 0% { 17 opacity: 1; 18 transform: translate(-500%, 0%); 19 -webkit-transform: translate(-500%, 0%); 20 -ms-transform: translate(-500%, 0%); 21 width: 230px; 22 } 23 45% { 24 opacity:1; 25 transform: translate(0%, 0%); 26 -webkit-transform: translate(0%, 0%); 27 -ms-transform: translate(0%, 0%); 28 width: 230px; 29 } 30 65% { 31 opacity:1; 32 transform: translate(-5%, 0%); 33 -webkit-transform: translate(-5%, 0%); 34 -ms-transform: translate(-5%, 0%); 35 width: 220px; 36 } 37 75% { 38 opacity:1; 39 transform: translate(-4%, 0%); 40 -webkit-transform: translate(-4%, 0%); 41 -ms-transform: translate(-4%, 0%); 42 width: 225px; 43 } 44 100% { 45 opacity:1; 46 transform: translate(0%, 0%); 47 -webkit-transform: translate(0%, 0%); 48 -ms-transform: translate(0%, 0%); 49 } 50} 51 52/*ホバーアニメーション*/ 53.circle > div:hover { 54 animation: dango2 0.8s 0s forwards; 55} 56@keyframes dango2 { 57 0% { 58 width: 215px; 59 height: 215px; 60 } 61 40% { 62 width: 242px; 63 height: 242px; 64 } 65 65% { 66 width: 222px; 67 height: 222px; 68 } 69 100% { 70 width: 230px; 71 height: 230px; 72 } 73}

補足情報

不可能な場合も教えて頂けると嬉しいです。
不足事項などあれば追加で記入します。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/11/30 01:54

とりあえずスライドインされることが確認できるソースをどこかにアップしてください hover時に想定している動作の説明もお願いします
3owK

2021/11/30 02:52

質問いただき、ありがとうございます。 今回は解決したので、次回質問時の参考にさせていただきます! ありがとうございました!!
guest

回答1

0

ベストアンサー

animation を上書きしているのが原因なので、複数アニメーションの定義をするのがいいと思います。
サンプルを置いておきます。

https://jsfiddle.net/Lhankor_Mhy/7as8jL1u/

css

1/* 2.circle > div:hover { 3 animation: dango2 0.8s 0s forwards; 4} 5*/ 6 7.circle_pink:hover { 8 animation: dango 1.6s 0.6s forwards, dango2 0.8s 0s forwards; 9} 10.circle_white:hover { 11 animation: dango 1.9s 0.3s forwards, dango2 0.8s 0s forwards; 12} 13.circle_green:hover { 14 animation: dango 2.2s 0s forwards, dango2 0.8s 0s forwards; 15}

投稿2021/11/30 01:52

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

3owK

2021/11/30 03:04 編集

出来ました!!! 想像していた動作になりました!ありがとうございます! 1つ質問があります、上書きにならないように複数記述になるのは分かったのですが、dangoとdango2が同時に行われないのは何故なのでしょうか?
Lhankor_Mhy

2021/11/30 03:05

回答にも書きましたが、アニメーションが上書きされているのが原因です。 CSSアニメーションが動くのは、大雑把に言うと、ページがロードされた時とanimationプロパティの設定が変わった時です。 .circle_pink { animation: dango 1.6s 0.6s forwards; } がホバーすることによって、 .circle > div:hover { animation: dango2 0.8s 0s forwards; } に変わるため、dango のアニメーションが解除されます。 逆に .circle > div:hover { animation: dango2 0.8s 0s forwards; } のホバーが外れることによって、 .circle_pink { animation: dango 1.6s 0.6s forwards; } 等に変わるため、dango2 のアニメーションが解除され、dango のアニメーションが再開されます。 --- 複数のアニメーションを定義しておけばアニメーションの上書きが起こらない(同じ値を設定している)ので、animation-fill-mode: forwards の設定も維持され、dango のアニメーションも再開されないというわけです。 https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Animations/Using_CSS_animations#setting_multiple_animation_property_values
3owK

2021/11/30 03:25

なるほど! 分かりやすい説明ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問