CSS3 トランジション

❮ 前章へ 次章へ ❯

CSS3 トランジション

CSS3 トランジションを使用すると、指定した時間の間、(一つの値から別の値へ)スムーズに プロパティ値を変更することができます。

例: 下の要素の上にマウスを乗せて、CSS3 トランジション効果をご覧ください

CSS3

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

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

数字の後に続く -webkit-、-moz- または -o- は、接頭辞付きで動作した最初のバージョンです。

プロパティ
transition 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-delay 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-duration 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-property 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-timing-function 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-

CSS3 トランジションの使用方法は?

トランジション効果を作成するには、2つのことを指定しなければなりません:

注: 持続時間を指定しない場合、トランジションのデフォルト値が 0 であるため、効果がありません。

次の例は、100px * 100px の赤い <div> 要素を表示します。 <div> 要素にはまた、持続時間を 2秒に width プロパティのトランジション効果を指定しています:

div {
    width: 100px;
    height: 100px;
    background: red;
    -webkit-transition: width 2s; /* Safari */
    transition: width 2s;
}

指定した CSS プロパティ (width) の値が変化した時に、トランジション効果が始まります。

今、<div> の上にマウスを乗せた時に、width プロパティへ新しい値を指定します:

div:hover {
    width: 300px;
}
Try it Yourself ❯

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


複数のプロパティ値を変更

次の例は、 width と height プロパティ双方に対してトランジション効果を追加します。変化に要する時間は、幅に 2秒、高さには 4秒かかります:

div {
    -webkit-transition: width 2s, height 4s; /* Safari */
    transition: width 2s, height 4s;
}
Try it Yourself ❯

トランジションの速度曲線を指定

transition-timing-function プロパティは、トランジション効果のスピードカーブを指定します。

transition-timing-function プロパティには、次の値を設定することができます:

次の例は、使用することができる、異なる速度曲線の一部を示しています:

#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;}
Try it Yourself ❯

トランジション効果の遅延

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

次の例は、1 秒間遅れてスタートします。

div {
    -webkit-transition-delay: 1s; /* Safari */
    transition-delay: 1s;
}
Try it Yourself ❯

トランジション + 変形

次の例は、トランジション効果に変形も加えます:

div {
    -webkit-transition: width 2s, height 2s, -webkit-transform 2s; /* Safari */
    transition: width 2s, height 2s, transform 2s;
}
Try it Yourself ❯

他のトランジション例

CSS3 トランジション・プロパティは、次のように 1 つずつ指定することができます:

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

または、ショートハンドプロパティ transition を使用することもできます:

div {
    transition: width 2s linear 1s;
}
Try it Yourself ❯

練習問題で確認テスト!

Exercise 1 ❯  Exercise 2 ❯  Exercise 3 ❯  Exercise 4 ❯  Exercise 5 ❯


CSS3 トランジション・プロパティ

次の表は、トランジション・プロパティの一覧です:

プロパティ 説明
transition 1 つプロパティで 4 つの transition プロパティを設定するためのショートハンド・プロパティ
transition-delay トランジション効果が遅延を(秒で)指定する
transition-duration トランジション効果を完了するまでにかかる時間を秒数またはミリ秒で指定する
transition-property トランジションが適用される CSS プロパティの名前を指定する
transition-timing-function トランジション効果の速度曲線を指定する

❮ 前章へ 次章へ ❯