37
15

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 3 years have passed since last update.

cubic-bezier を知る。

Last updated at Posted at 2020-12-15

前提

CSS でのアニメーション実行スピード調整に cubic-bezier を使用したとき、何をしているのかあまり理解ができていなかったので既出の記事も多くあるかと思いますが自分の中で咀嚼するため書きました。

cubic-bezier

CSS3 でアニメーションを行うときのイージングの値は linear, ease, ease-in, ease-out, ease-in-out が用意されており、用意されいてるイージング以外を設定したい場合に cubic-bezier(x1,y1,x2,y2)を用います。

名前の通りベジェ曲線の X軸, Y軸 を使ってイージングスピードの設定を細かくおこなう。

イージングの値

どういう動きなのか
ease 【初期値】開始と完了を滑らかにする
linear 一定の速度
ease-in ゆっくり 始まる
ease-out ゆっくり 終わる
ease-in-out ゆっくり 始まり ゆっくり 終わる
cubic-bezier(x1,y1,x2,y2) 数値で細かく指定

アニメーションさせたいときのプロパティ

animation は animation-timing-function,
transition は transition-timing-function の値に入力する。
※ブラウザは IE11, Edge も対応しているのでべンダープレフィックスは基本的には不要

使い方

SCSS で使用したい数値をまとめて変数化しておくと便利。

hoge.scss
$easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530);

.hoge {
  transition: all .2s $easeInQuad;
}

数値入力がよくわからん

細かなイージング調整に数値入力が必要なので扱いが難しく感じますが、ジェネレータに頼れば視覚的に操作できます。積極的に使用します。
https://cubic-bezier.com/

イージング参考に素晴らしいページ
http://easings.net/

まとめ

アニメーションさせるときに cubic-bezier 以外の値ばかり使っていたので、これからは積極的に使っていきます。

37
15
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
37
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?