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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

Q&A

解決済

1回答

2661閲覧

CSSアニメーションがうまくいきません...

newyee

総合スコア213

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/11/12 08:43

CSSのみでアニメーションを作成したいのですが、うまくいきません...
コードの方は長い為、codepenの方へ上げさせていただきました。
codepenのリンクになります
上記のリンクのコードの、クラス「slide_animation」に適用しているアニメーションなのですが、3枚の画像をスライドショーのように切り替えたいのですが、きちんと表示されているのは一枚のみで、後の2枚はうっすらぼやけて写ってしまっています。
どのようにすれば、3枚ともハッキリと表示させることができるでしょうか?
ご回答いただけましたら幸いです。よろしくお願いします。

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

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

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

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

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

x_x

2018/11/12 08:56

前回の質問の続きのようですが、ちゃんと確認したほうがいいです。コロン抜けてるので
newyee

2018/11/12 10:06

ご指摘ありがとうございます。「コロン」の件修正しました。
newyee

2018/11/12 10:07

画像のの方は「dropbox」でアップしているのですが、画像が荒いということでしょうか...?貼ってい頂いたリンク見てみます。
guest

回答1

0

ベストアンサー

CSSアニメーションの設定が、3枚でうまくずれてループできるように調整されていないようです。
下記を差し替えてみてください。

CSS

1... 2.slide_wrapper{ 3 height:720px; 4 width:1280px; 5 max-width:100%; 6 position:relative; 7} 8.slide_animation{ 9 animation-name:slide; 10 animation-duration:2.4s; 11 animation-iteration-count:infinite; 12 opacity:1; 13 position:absolute; 14} 15@keyframes slide{ 16 0%{opacity:1;} 17 33.33333%{opacity:0;} 18 66.66666%{opacity:0;} 19 100%{opacity:1;} 20} 21.slide_animation_1{ 22 animation-delay:0s; 23} 24.slide_animation_2{ 25 animation-delay:0.8s; 26} 27.slide_animation_3{ 28 animation-delay:1.6s; 29}

追記(2018/11/12)

画像3枚のアニメーションをいっぺんに考えると難しいかもしれません。
各画像のアニメーションは、

  1. opacity: 1からスタート(0%)
  2. opacity: 0までフェードアウト(~33.33333%)
  3. opacity: 0のままキープ(~66.66666%)
  4. opacity: 1に戻る(~100%)
  5. 1.に戻る

という繰り返しです。

33.3333%から100%にかけて徐々にフェードインしてくると他の画像とかぶってしまいます。
そのため、66.6666%までopacity: 0のままキープします。

2,3枚目も同じ動きですが、animation-delayでスタート秒数がずれます。
結果として、3枚の画像が交互に出現するように見えます。

opacityの変化略図

「1ーーー0ーーー0ーーー1」が上記の1~5のステップです。
(繰り返しの終わりと開始は、ひとつにまとめています。)

画像1: 1ーーー0ーーー0ーーー1ーーー0ーーー0...
画像2: ーーーー1ーーー0ーーー0ーーー1ーーー0ーーー0...
画像3: ーーーーーーーー1ーーー0ーーー0ーーー1ーーー0ーーー0...

投稿2018/11/12 08:59

編集2018/11/12 10:58
NozomuIkuta

総合スコア1260

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

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

newyee

2018/11/12 10:02

ご回答ありがとうございます。 ご回答下さいましたように、修正しましたら、3枚ともきちんとスライドさせることができました。 @keyframesに関しましては、なかなかコツが掴めず理解できずにいるといった状況なのですが、何故、33%の時点で「opacity」に「0」を指定しているにも関わらず、66%の時点でも「0」を指定する必要があるのでしょうか?また、100%の際にも「opacity」を「1」に戻す理由が分からないです... 重ね重ね申し訳ないのですが、教えて頂けましたら幸いです。
newyee

2018/11/13 00:18

ご丁寧にありがとうございます。 大変分かりやすく、助かりました。
NozomuIkuta

2018/11/13 01:05

解決したようで良かったです。 他の方が検索されたときに見分けがつくように「解決済」の設定をお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問