WebDesign Dackel

コピペで使えるSass用イージング変数の一覧

コピペで使えるSass用イージング変数の一覧

Hatena0
Google+0
Pocket0
Feedly0

スマホ専用サイトなんかでは気軽にCSS Transitionを使って簡単にアニメーションをつけることが出来るので楽しいですよね。サイトの雰囲気やコンセプトに応じて、動きに個性を付けたい場合はcubic-bezier()を使ってイージングをカスタマイズするかと思います。

ただ、指定の方法が

transition-timing-function: cubic-bezier(.17,.67,.83,.67);

みたいに長ったらしいし、数値だけみてもピンとこないのでjQueryを使っているときみたいにそれぞれの動きに名前をつけておきたいですよね。

なので今回は、Sassで気軽に使えるようにした、イージング用の変数を残しておこうと思います。
なお、それぞれの数値はEasing Function 早見表を参考にさせて頂きました。

イージングサンプル

下記で載せているそれぞれの動きを確認できます。PCの場合はマウスを乗せると動きます。スマホの場合はタップしてみてください。

動作サンプル

Sassで使えるようにした変数一覧

// Custom easing functions.
// http://easings.net/ja

// sine
$ease-in-sine:cubic-bezier(0.47, 0, 0.745, 0.715);
$ease-out-sine:cubic-bezier(0.39, 0.575, 0.565, 1);
$ease-in-out-sine:cubic-bezier(0.445, 0.05, 0.55, 0.95);

// quad
$ease-in-quad:cubic-bezier(0.55, 0.085, 0.68, 0.53);
$ease-out-quad:cubic-bezier(0.25, 0.46, 0.45, 0.94);
$ease-in-out-quad:cubic-bezier(0.455, 0.03, 0.515, 0.955);

// cubic
$ease-in-cubic:cubic-bezier(0.55, 0.055, 0.675, 0.19);
$ease-out-cubic:cubic-bezier(0.215, 0.61, 0.355, 1);
$ease-in-out-cubic:cubic-bezier(0.645, 0.045, 0.355, 1);

// quart
$ease-in-quart:cubic-bezier(0.895, 0.03, 0.685, 0.22);
$ease-out-quart:cubic-bezier(0.165, 0.84, 0.44, 1);
$ease-in-out-quart:cubic-bezier(0.77, 0, 0.175, 1);

// quint
$ease-in-quint:cubic-bezier(0.755, 0.05, 0.855, 0.06);
$ease-out-quint:cubic-bezier(0.23, 1, 0.32, 1);
$ease-in-out-quint:cubic-bezier(0.86, 0, 0.07, 1);

// expo
$ease-in-expo:cubic-bezier(0.95, 0.05, 0.795, 0.035);
$ease-out-expo:cubic-bezier(0.19, 1, 0.22, 1);
$ease-in-out-expo:cubic-bezier(1, 0, 0, 1);

// circ
$ease-in-circ:cubic-bezier(0.6, 0.04, 0.98, 0.335);
$ease-out-circ:cubic-bezier(0.075, 0.82, 0.165, 1);
$ease-in-out-circ:cubic-bezier(0.785, 0.135, 0.15, 0.86);

// back
$ease-in-back:cubic-bezier(0.6, -0.28, 0.735, 0.045);
$ease-out-back:cubic-bezier(0.175, 0.885, 0.32, 1.275);
$ease-in-out-back:cubic-bezier(0.68, -0.55, 0.265, 1.55);

好みによるかとは思いますが、変数は-(ハイフン)区切りにしています。キャメルケースがいいんだー!みたいな場合は適宜変更してください。

また、_easings.scssみたいなファイルに切り分けておけば、様々なプロジェクトで使いまわせるし、わかりやすいのでいい感じですね!

その他ライブラリを使う場合

compass-ceaser-easingというCompassのライブラリがあるみたいです。個人的には、ライブラリに頼らなくても上記の変数で間に合いそうだなと思ったのですがどうなんでしょうか??
興味のある方はライブラリのリポジトリをご確認ください。

compass-ceaser-easing

まとめ

上記の変数群をベースに、自分の好きなイージングをcubic-bezier.comみたいなサイトで作って付け足しておくのもいいかなと思います。