teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

余計な部分を削除して、文法を修正しました。

2018/02/03 17:16

投稿

退会済みユーザー
answer CHANGED
@@ -1,10 +1,10 @@
1
1
  インスペクタでスタイルを確認すると、冒頭で挙げられたサイトの背景画像は、`background-position` ではなく、`transform` の値を JavaScript で操作して動かしていることがわかります。
2
2
 
3
- 例えば、`background-image`のある要素(仮にAとします)を左から右にアニメーションさせたいのであれば、以下のようなHTMLを用意します。
3
+ 例えば、`background-image`のある要素を左から右にアニメーションさせたいのであれば、以下のようなHTMLを用意します。
4
4
 
5
5
  ```html
6
6
  <section class="topImg">
7
- <div class="image"></div>
7
+ <div class="image"></div>
8
8
  </section>
9
9
  ```
10
10
 
@@ -37,12 +37,12 @@
37
37
  }
38
38
  ```
39
39
 
40
- `.image`の幅を`110%`にすることで、移動しても後ろ側が見えてしまわないようにします。`translateX(9%)`のところを`translateX(10%)`としてしまうと、translateが`.image`の大きさを基準に計算されるため、110%にした幅の10%、つまり11%の移動になってしまってはみ出ので注意が必要です。
40
+ `.image`の幅を`110%`にして、移動しても後ろ側が見えないようにします。`translateX(9%)`のところを`translateX(10%)`としてしまうと、translateが`.image`の大きさを基準に計算されるため、110%にした幅の10%、つまり11%の移動になり、はみ出してしまうので注意が必要です。
41
41
 
42
- これをクロスフェードの仕組みと組み合わせれば、期待している動きになるでしょう。
42
+ これをクロスフェードと組み合わせれば、期待している動きになるでしょう。
43
43
 
44
44
  ---
45
45
 
46
- 目的っているかわかりませんが、`keyframes`が使えて、ユーザーの操作が関係ないのであれば、CSSだけで画像をアニメーションさせつつ、クロスフェードできます。
46
+ やりたいこと合っているかわかりませんが、`keyframes`が使えて、ユーザーの操作が関係ないのであれば、CSSだけで画像をアニメーションさせつつ、クロスフェードできます。
47
-
47
+ こちらにサンプルを用意しました。
48
48
  [https://codepen.io/anon/pen/PQZXqp](https://codepen.io/anon/pen/PQZXqp)