icon
icon

色々な動きを表現できる!CSSのtransitionプロパティの書き方【初心者向け】

初心者向けにCSSのtransitionプロパティを使って動きを表現する書き方について解説しています。CSSだけでアニメーションを実装したい際に便利なプロパティです。実際に書きながら理解していきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

CSSのtransitionプロパティを使う方法について解説しています。

一定時間でプロパティを変化させ、アニメーションをつけたい時に便利です。メニューのスライドインやスライドアウトにtransitionが使われていることがあります。

シンプルな動きを簡単に実装できるので、ぜひ使い方を覚えておきましょう。

CSSについてそもそもよく分からないという方は、CSSの書き方について解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebデザインオンラインブートキャンプのカリキュラムをもとに執筆しています。

 

大石ゆかり

田島メンター!!hoverを使ったマウスオーバー時のアクションですが、少しずつ変化していく感じにはできませんか〜?

田島悠介

そういうときはtransitionプロパティを使ってみよう。

大石ゆかり

transitionを使うとどうなるんですか?

田島悠介

推移に関する条件を指定するものなんだ。例えばどれぐらいの時間をかけてアクションの実行を行うかというようなことを決めることができるよ。

 

transitionプロパティとは

transitionプロパティとは、時間経過による変化を表現するときに使います。

具体的には、「カーソルを当てると徐々に背景色を変える」といったことができるようになります。

他にもanimationプロパティなどもありますが、transitionプロパティは比較的シンプルな変化をさせるときに使われます。

 

transitionプロパティの使い方

transitionプロパティは次のように指定します。

-webkit-transition-property: 変化させるプロパティ(backgroundなど);
-webkit-transition-duration: 変化させる秒数;
-webkit-transition-timing-function: 変化のさせ方;

 

-webkit-transition-timing-functionは以下のように指定します。

・default
・linear: 一定のスピード
・ease-in: 徐々に加速
・ease-out: 徐々に減速
・ease-in-out: 徐々に加速して徐々に減速
・cubic-bezier: カスタム

 

また、次の省略記法も使うことができます。

-webkit-transition: 変化させるプロパティ 変化させる秒数 変化のさせ方;

 

田島悠介

transitionの基本の書き方になるよ。

大石ゆかり

かなり細かい指定ができるんですね。

田島悠介

次は実際の例で見てみよう。今回は少しずつ色が変わるというのをやってみるよ。

 

[PR] Webデザインで副業する学習方法を動画で公開中

実際に書いてみよう

実際に書いてみましょう。

css部分
------------------------
#demo {
  height: 100px;
  width: 200px;
  background: rgb(255, 100, 100);
  -webkit-transition-property: background;
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: linear;
}
#demo:hover {
  background: rgb(100, 255, 100);
}
/* 省略して書くこともできます。 */
#demo2 {
  height: 100px;
  width: 200px;
  background: rgb(255, 100, 100);
  -webkit-transition: background 2s ease-in-out;
}
#demo2:hover {
  background: rgb(100, 100, 255);
}
------------------------
html部分
------------------------
<div id="demo"></div>
<br>
<div id="demo2"></div>
------------------------

 

ブラウザでアクセスすると以下のように動きます。

以上、transitionプロパティの使い方を解説しました。

変化のさせ方、変化のスピードなども自由に変えられるので、いろいろ試してみてください。JavaScriptが書けなくてもアニメーションが作れるので、手軽に実装できるでしょう。

他にも、Webデザイナーとはどんな仕事をするのか詳しく紹介しているので、合わせてご覧ください。

 

田島悠介

色の部分にマウスを合わせてみよう。どうなるかな?

大石ゆかり

少しずつ色が変わってます!CSSではこんなこともできたんですね。

田島悠介

動きを入れることで表現の方法が増えるので、場面に応じて工夫してみよう。

大石ゆかり

少しずつ試してみます。ありがとうございました!

 

また、TechAcademyでは初心者でもオリジナルWebサイトを公開できるWebデザインオンラインブートキャンプを開催しています。

現役のWebデザイナーがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルのWebサイトを作ることが可能です。

独学に限界を感じている場合はご検討ください。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する