3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

画像を枠のなかで揺らす方法

Last updated at Posted at 2019-02-20

[神曲] Kawaii EDMオススメ10曲 [まとめ]
https://www.youtube.com/watch?v=lN04a48Ba9I

を見ていたら、気づかない程度に画像が動いていて、WEBでもなんかのときに適用できたら面白いんじゃないかと思い、CSSで行う方法を調べてみました。

See the Pen Image Swing CSS by Akira Ikeda (@akicho8) on CodePen.

HTML(slim)
.swing_container
  .swing_v
    .swing_h
      .swing_rotate
        img(src="path/to/image.png")
CSS(sass)
$swing_level: 10px    // 縦横の移動幅
$swing_rotate: 1deg   // Z軸の回転幅
$swing_scale: 1.15     // 画像の拡大率

.swing_container
  overflow: hidden
  width: 256px

  .swing_v
    animation: kf_translate_x 0.7s ease-in-out infinite alternate

  .swing_h
    animation: kf_translate_y 0.8s ease-in-out infinite alternate

  .swing_rotate
    animation: kf_rotate_z 0.9s ease-in-out infinite alternate

  img
    display: block
    width: 100%
    transform: scale($swing_scale)

@keyframes kf_translate_x
  0%
    transform: translateX(-$swing_level)
  100%
    transform: translateX($swing_level)

@keyframes kf_translate_y
  0%
    transform: translateY(-$swing_level)
  100%
    transform: translateY($swing_level)

@keyframes kf_rotate_z
  0%
    transform: rotateZ(-$swing_rotate)
  100%
    transform: rotateZ($swing_rotate)

まとめると次のようになります。

  1. 周期をずらしてX座標、Y座標、Z軸を動かす
  2. 画像を少し拡大しておく
  3. 親要素で子要素(画像)をクリップする
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?