CSSチュートリアル

CSSホーム CSSの紹介 CSS構文 CSSセレクター CSSハウツー CSSコメント CSSの色 CSSの背景 CSSボーダー CSSマージン CSSパディング CSSの高さ/幅 CSSボックスモデル CSSの概要 CSSテキスト CSSフォント CSSアイコン CSSリンク CSSリスト CSSテーブル CSSディスプレイ CSSの最大幅 CSSの位置 CSSZ-index CSSオーバーフロー CSSフロート CSSインラインブロック CSS整列 CSSコンビネータ CSS疑似クラス CSS疑似要素 CSSの不透明度 CSSナビゲーションバー CSSドロップダウン CSS画像ギャラリー CSS画像スプライト CSS AttrSelectors CSSフォーム CSSカウンター CSSWebサイトのレイアウト CSSユニット CSSの特異性 CSS!重要 CSS数学関数

CSS Advanced

CSSの丸みを帯びたコーナー CSSボーダー画像 CSSの背景 CSSの色 CSSカラーキーワード CSSグラデーション CSSシャドウ CSSテキスト効果 CSSWebフォント CSS2D変換 CSS3D変換 CSSトランジション CSSアニメーション CSSツールチップ CSSスタイルの画像 CSS画像反射 CSSオブジェクト適合 CSSオブジェクトの位置 CSSマスキング CSSボタン CSSページ付け CSSの複数の列 CSSユーザーインターフェイス CSS変数 CSSボックスのサイズ設定 CSSメディアクエリ CSSMQの例 CSSFlexbox

CSSレスポンシブ

RWDイントロ RWDビューポート RWDグリッドビュー RWDメディアクエリ RWD画像 RWDビデオ RWDフレームワーク RWDテンプレート

CSSグリッド

グリッドイントロ グリッドコンテナ グリッドアイテム

CSS SASS

SASSチュートリアル

CSSの

CSSテンプレート CSSの例 cssクイズ CSS演習 CSS証明書

CSSリファレンス

CSSリファレンス CSSセレクター CSS関数 CSSリファレンスオーラル CSSWebセーフフォント CSSアニメーション可能 CSSユニット CSSPX-EMコンバーター CSSの色 CSSの色の値 CSSのデフォルト値 CSSブラウザのサポート

CSSトランジション


CSSトランジション

CSSトランジションを使用すると、特定の期間にわたってプロパティ値をスムーズに変更できます。

下の要素にマウスを合わせると、CSS遷移効果が表示されます。

CSS

この章では、次のプロパティについて学習します。

  • transition
  • transition-delay
  • transition-duration
  • transition-property
  • transition-timing-function

トランジションのブラウザサポート

表の数字は、プロパティを完全にサポートする最初のブラウザバージョンを示しています。

Property
transition 26.0 10.0 16.0 6.1 12.1
transition-delay 26.0 10.0 16.0 6.1 12.1
transition-duration 26.0 10.0 16.0 6.1 12.1
transition-property 26.0 10.0 16.0 6.1 12.1
transition-timing-function 26.0 10.0 16.0 6.1 12.1

CSSトランジションの使い方は?

トランジションエフェクトを作成するには、次の2つを指定する必要があります。

  • 効果を追加するCSSプロパティ
  • 効果の持続時間

注:期間部分が指定されていない場合、デフォルト値は0であるため、遷移は効果がありません。

次の例は、100px * 100px red <div>要素を示しています。<div>要素は、幅プロパティの遷移効果も指定しており、持続時間は2秒です。

div {
  width: 100px;
  height: 100px;
  background: red;
  transition: width 2s;
}

指定したCSSプロパティ(幅)の値が変わると、トランジション効果が始まります。

ここで、ユーザーが<div>要素の上にマウスを置いたときにwidthプロパティに新しい値を指定しましょう。

div:hover {
  width: 300px;
}

カーソルが要素の外にマウスを置くと、徐々に元のスタイルに戻ることに注意してください。


いくつかのプロパティ値を変更する

次の例では、widthプロパティとheightプロパティの両方に遷移効果を追加します。持続時間は、幅が2秒、高さが4秒です。

div {
  transition: width 2s, height 4s;
}


遷移の速度曲線を指定します

このtransition-timing-functionプロパティは、遷移効果の速度曲線を指定します。

transition-timing-functionプロパティには、次の値を指定できます。

  • ease -開始が遅く、次に速く、次にゆっくりと終了する遷移効果を指定します(これはデフォルトです)
  • linear -開始から終了まで同じ速度の遷移効果を指定します
  • ease-in -スロースタートのトランジション効果を指定します
  • ease-out -スローエンドのトランジション効果を指定します
  • ease-in-out -開始と終了が遅い遷移効果を指定します
  • cubic-bezier(n,n,n,n) -キュービックベジェ関数で独自の値を定義できます

次の例は、使用できるさまざまな速度曲線の一部を示しています。

#div1 {transition-timing-function: linear;}
#div2 {transition-timing-function: ease;}
#div3 {transition-timing-function: ease-in;}
#div4 {transition-timing-function: ease-out;}
#div5 {transition-timing-function: ease-in-out;}

遷移効果を遅らせる

このtransition-delayプロパティは、トランジション効果の遅延(秒単位)を指定します。

次の例では、開始する前に1秒の遅延があります。

div {
  transition-delay: 1s;
}

移行+変換

次の例では、変換に遷移効果を追加します。

div {
  transition: width 2s, height 2s, transform 2s;
}

その他の移行例

CSS遷移プロパティは、次のように1つずつ指定できます。

div {
  transition-property: width;
  transition-duration: 2s;
  transition-timing-function: linear;
  transition-delay: 1s;
}

または省略形のプロパティを使用してtransition

div {
  transition: width 2s linear 1s;
}

エクササイズで自分をテストする

エクササイズ:

<div>要素の幅の変更に2秒の遷移効果を追加します。

<style>
div {
  width: 100px;
  height: 100px;
  background: red;
  : ;
}

div:hover {
  width: 300px;
}
</style>

<body>
  <div>This is a div</div>
</body>


CSS遷移プロパティ

次の表に、すべてのCSS遷移プロパティを示します。

Property Description
transition A shorthand property for setting the four transition properties into a single property
transition-delay Specifies a delay (in seconds) for the transition effect
transition-duration Specifies how many seconds or milliseconds a transition effect takes to complete
transition-property Specifies the name of the CSS property the transition effect is for
transition-timing-function Specifies the speed curve of the transition effect