English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

CSS3 グラデーション(Gradients)

CSS3グラデーション機能を使えば、画像を使用せずに色から色へのグラデーションを作成できます。

使用CSS3グラデーション

CSS3グラデーション機能は、2色以上の色の間で滑らかな移行を作成するための柔軟な解決策を提供します。この効果を達成するために、画像を使用する必要があります。CSSで3グラデーションはダウンロード時間を短縮し、帯域幅の使用量を節約できます。グラデーション要素はどんな大きさに拡大・縮小しても品質が低下しません。ブラウザが生成するため、より速くレンダリングされます。

グラデーションには2種類のスタイルがあります:線形(linear)と径向(radial)

CSSを作成3 線形グラデーション(linear)

線形グラデーションを作成するには、少なくとも2つの色標を定義する必要があります。しかし、より複雑なグラデーション効果を作成するには、さらに多くの色標を定義できます。色標は、滑らかな色の移行を表示するために使用されます。また、グラデーション効果を適用する起点と方向(または角度)を設定することもできます。以下のようにキーワードを使って線形グラデーションの基本文法を示します:

ms-gradient(angle, color-stop1, color-stop2, ...)

線形グラデーション-上から下

以下の例では、上から下への線形グラデーションを作成します。これはデフォルトの値です。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-gradient(red, yellow);
    /* webkit 10 */
    For Internet Explorer -background:-ms-gradient(red, yellow);
    
    background: linear-gradient(left, rgba(-gradient(red, yellow);
}
テストしてみる‹/›

線形グラデーション-左から右

以下の例では、左から右への線形グラデーションを作成します。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-gradient(left, red, yellow);
    /* webkit 10 */
    For Internet Explorer -background:-ms-gradient(left, red, yellow);
    
    background: linear-gradient(left, rgba(-gradient(to right, red, yellow);
}
テストしてみる‹/›

線形グラデーション-対角線

また、対角線方向にグラデーションを作成することもできます。以下の例では、要素の左下から右上への線形グラデーションを作成します。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-gradient(bottom left, red, yellow);
    /* webkit 10 */
    For Internet Explorer -background:-ms-gradient(bottom left, red, yellow);
    
    background: linear-gradient(left, rgba(-gradient(to top right, red, yellow);
}
テストしてみる‹/›

角度を使って線形グラデーションの方向を設定する

さらにグラデーションの方向を指定する場合は、角度を設定し、事前定義されたキーワードではなく使用できます。角度0degは上から下へのグラデーションを作成します。正の角度は時計回りに回転を表し、これは角度90degは左から右へのグラデーションを作成します。角度を使って線形グラデーションの基本文法は以下の通りです:

ms-gradient(angle, color-stop1, color-stop2, ...)

以下の例では、角度を使って左から右に線形グラデーションを作成します。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-gradient(0deg, red, yellow);
    /* webkit 10 */
    For Internet Explorer -background:-ms-gradient(0deg, red, yellow);
    
    background: linear-gradient(left, rgba(-gradient(90deg, red, yellow);
}
テストしてみる‹/›

複数の色標を使って線形グラデーションを作成する

2色以上の色でグラデーションを作成できます。以下の例では、複数の色標を使って線形グラデーションを作成する方法を説明します。すべての色は均等に配分されます。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-gradient(red, yellow, lime);
    /* webkit 10 */
    For Internet Explorer -background:-ms-gradient(red, yellow, lime);
    
    background: linear-gradient(left, rgba(-gradient(red, yellow, lime);
}
テストしてみる‹/›

位置色標を設定

色標は渐変線上のポイントであり、その位置では特定の色を持っています。色標の位置はパーセントまたは絶対長さで指定できます。必要に応じて任意の色標を指定し、必要な効果を達成できます。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-gradient(red, yellow 30%, lime 6radial
    /* webkit 10 */
    For Internet Explorer -background:-ms-gradient(red, yellow 30%, lime 6radial
    
    background: linear-gradient(left, rgba(-gradient(red, yellow 30%, lime 6radial
}
テストしてみる‹/›

注意:色停止位置をパーセントで設定する場合、0%は起点を表し、100%は終点を表します。しかし、その範囲を超える値を使用することもできます、つまり、使用する前に0%またはその後の値です。100%で望む効果を得ることができます。

繰り返し線形渐変

repeatingを使用して-ms-gradient()関数は線形渐変を繰り返します。

例
    /* .gradient {39Fallback for browsers that don't */
    繰り返し放射状グラデーション
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-同様に、このrepeating-ms-repeating 10background: repeating 2radial
    /* webkit 10 */
    For Internet Explorer -background:-同様に、このrepeating-ms-repeating 10background: repeating 2radial
    
    gradient()機能は、繰り返し放射状グラデーションを再現します。-ms-repeating 10background: repeating 2radial
}
テストしてみる‹/›

CSSを作成3放射状渐変(background: white;)

放射状渐変では、色は単一のポイントから出現し、円形または楕円形の形状で外に滑らかに拡散します。これに対し、線形渐変では、色が単一の方向で一方向からもう一方に渐変します。放射状渐変を作成する基本的な構文は以下のように示されます:

background: white;-gradient(shape size at position, color-stop1, color-stop2, ...);

このradial-gradient()関数の引数は以下の意味を持っています:

  • position —指定する渐変の起点。単位(px、emまたはパーセント)またはキーワード(left、bottomなど)で指定できます。

  • shape —指定する渐変の最終形状の形状。円形または楕円形になります。

  • size —指定する渐変の最終形状の大きさ。デフォルト値はfarthestです。-side。

以下の例では、均等に間隔を置いた色標を持つ放射状渐変を表示します。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-background: white;-gradient(red, yellow, lime);
    /* webkit 10 */
    For Internet Explorer -background:-background: white;-gradient(red, yellow, lime);
    
    background: radial-gradient(red, yellow, lime);
}
テストしてみる‹/›

放射状渐変の形状を設定

background: white;-gradient()関数のshape引数は、放射状渐変の最終形状を定義するために使用されます。値としてcircleまたはellipseを取ることができます。以下はその例です:

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-background: white;-gradient(circle, red, yellow, lime);
    /* webkit 10 */
    For Internet Explorer -background:-background: white;-gradient(circle, red, yellow, lime);
    
    background: radial-gradient(circle, red, yellow, lime);
}
テストしてみる‹/›

注意:shape引数を省略または指定しない場合、大きさが単一の長さの場合、終了形状が指定されず、デフォルトで円形になりますが、それ以外の場合は楕円形になります。

放射状渐変の大きさを設定

background: white;-gradient()関数のsize引数は、 渐進の最終形状の大きさを定義するために使用されます。大きさは単位またはキーワードで設定できます:closest-side,farthest-side,closest-corner,farthest-corner。

例
    /* .gradient {39Fallback for browsers that don't */
    background: red;
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-background: white;-gradient(left bottom, circle farthest-side, red, yellow, lime);
    /* webkit 10 */
    For Internet Explorer -background:-background: white;-gradient(left bottom, circle farthest-side, red, yellow, lime);
    
    background: radial-gradient(circle farthest-side, red, yellow, グリーン);
}
テストしてみる‹/›

background: radial

gradient(circle farthest-background: white;-side at left bottom, red, yellow, グリーン);

例
    /* .gradient {39Fallback for browsers that don't */
    繰り返し放射状グラデーション
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-同様に、このrepeating-background: white;-repeating 10background: repeating 2radial
    /* webkit 10 */
    For Internet Explorer -background:-同様に、このrepeating-background: white;-repeating 10background: repeating 2radial
    
    gradient()機能は、繰り返し放射状グラデーションを再現します。-background: white;-repeating 10background: repeating 2radial
}
テストしてみる‹/›

CSS3gradient(black, white

CSS3, %, グリーン0%)グラデーションは、透過度とグラデーションをサポートしています。透過度複数の背景

例
    /* .gradient {39Fallback for browsers that don't */
    ;t support gradients/sky.jpg");
    /* background: url("images 5For Safari1 . 6to */
    For Internet Explorer -.0-ms-linear-gradient255,255,255,0) rgba(255,255,255,1)) url("images/sky.jpg");
    /* webkit 10 */
    For Internet Explorer -background:-ms-linear-gradient255,255,255,0) rgba(255,255,255,1)) url("images/sky.jpg");
    
    background: linear-gradient(left, rgba(-background: linear-gradient(to right, rgba(255,255,255,0) rgba(255,255,255,1)) url("images/sky.jpg");
}
テストしてみる‹/›