CSS Web制作

【CSS】transitionにプロパティを複数指定する書き方

※ 当サイトではアフィリエイト広告を利用しています

transitionのプロパティって複数指定する書き方って知ってる?

CSSのtransitionは『all』と書く人も多いかも知れませんが、それだと予期せぬ場所で影響が出ることがあります。

なのでtransitionのプロパティは指定した書き方がおすすめですが、複数ある場合はどう書いていいか分からない人もいると思います。

そこで今回はtransitionのプロパティを複数指定する書き方を解説していきます。

 

完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
  • 30日間でWeb制作を学べる
  • 完全無料
  • 現役エンジニアへの質問無制限
  • オンラインの動画学習なので時間場所を問わず勉強可能
  • 最大4回の学習サポート面談
  • 受付は1日25名までの先着制
無料なのに専属のメンターが付き、現役エンジニアへの質問も無制限という破格のサービスです。
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇

\ 完全無料 /

ZeroPlus Gate公式サイト

先着1日25名まで!

CSSのtransitionにプロパティを複数指定する書き方

早速ですがこちらのデモをご覧下さい。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

下のボタンをhoverすると上のボタンが変化します。

そして変化するのは以下の3つになります。

  • background-color
  • color
  • transform:scale()

 

コード解説

それでは本題ですが、まず基本となるtransitionのショートハンドの書き方はこちらになります。

  1. transition-property:プロパティ名(初期値:all)
  2. transition-duration:アニメーションの開始から終了までの時間(初期値:0)
  3. transition-timing-function:アニメーションの仕方(初期値:ease)
  4. transition-delay:アニメーション開始を遅らせる時間(初期値:0)

そして上記の順番に書きます。例えば全部書いた場合は以下のようになります。

.sample {
  transition: color 1s ease-in 2s;
}

全部書く必要はなく、以下のように省略することも出来ます。

.sample01 {
  transition: 1s;
}

.sample02 {
  transition: color 1s;
}

そしてここまでは1つのプロパティの書き方なので、複数書く場合は以下のように書きます。

.sample {
  transition: color 1s, background-color 1s;
}

通常の書き方に『 , 』とカンマで区切ればOKです。

あとは上記のように時間が同じでも省略せずに書きましょう(それぞれのプロパティに対する設定なので)

そして今回のデモの場合はプロパティが3つあり、以下のようになります。

transition: background-color .4s, transform .4s, color .4s;

このように2つ以上の場合でも書き方は変わりません。

あとは冒頭でも書いたように『all』にすると意図しない箇所で変な挙動をしたりバグのようになることがあるので、普段からプロパティを指定するクセを付けるようにしましょう。

実際『all』のせいでハンバーガーメニューで変な挙動をしたり、スライドショーのライブラリでもバグのようになったことがあります。

以上になります。

この記事が役に立ったと思ったら、シェアボタンからX(旧Twitter)などにシェアすると、いいねされてフォロワーが増えたりすることがあるよ!
Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-CSS, Web制作