Latest web development tutorials

CSS3グラデーション

直線勾配

CSS3グラデーション(グラデーション)を使用すると、指定された2つ以上の色の間のスムーズな移行を表示することができます。

以前は、これらの効果を達成するために画像を使用する必要があります。 しかし、CSS3勾配(勾配)を使用して、ダウンロードのイベントやブロードバンドの使用を減らすことができます。 あなたが拡大するとの勾配(勾配)は、ブラウザによって生成されるため、また、トランジション効果の要素は、よく見えます。

CSS3グラデーション(グラデーション)の2つのタイプを定義します。

  • 直線勾配(リニアグラデーション) -上/下/左/右/斜め方向
  • 放射状グラデーション(ラジアルグラデーション) -彼らの中心で定義されました

ブラウザのサポート

表属性内の数字は、ブラウザの最初のバージョンのフルサポートを指定します。

-webkitとの背後にある - 、 - MOZ融合物または-O-が最初のバージョンをサポートするためのprefix属性を持つ必要数を指定します。

属性
linear-gradient 10.0 26.0
10.0 -webkit-
16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.1 -o-
radial-gradient 10.0 26.0
10.0 -webkit-
16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.6 -o-
repeating-linear-gradient 10.0 26.0
10.0 -webkit-
16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.1 -o-
repeating-radial-gradient 10.0 26.0
10.0 -webkit-
16.0
3.6 -moz-
6.1
5.1 -webkit-
12.1
11.6 -o-


CSS3直線勾配

線形グラデーションを作成するには、少なくとも2色のノードを定義する必要があります。 あなたはスムーズな移行を表示したい色を表すColorノード。 同時に、あなたはまた、出発点と方向(または角度)を設定することができます。

直線勾配の例:

直線勾配

文法

background: linear-gradient( direction , color-stop1 , color-stop2, ... );

直線勾配-上から下に(デフォルトで)

次の例では、上から直線勾配を示しています。 出発点は赤で、ゆっくりと青に移行します:

上から下まで直線勾配:

#grad {
  background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(red, blue); /* 标准的语法 */
}

»をお試しください

直線勾配-左から右へ

次の例では、左から直線勾配を示しています。 出発点は赤で、ゆっくりと青に移行します:

左から右へ直線勾配:

#grad {
  background: -webkit-linear-gradient(left, red , blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(right, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(right, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(to right, red , blue); /* 标准的语法 */
}

»をお試しください

直線勾配-対角線

あなたは、水平および垂直の開始位置を指定することによって、斜めの勾配を作ることができます。

次の例では、左上隅(右下)の直線勾配から示しています。 出発点は赤で、ゆっくりと青に移行します:

線形グラデーションの右上隅を下げるために左上から:

#grad {
  background: -webkit-linear-gradient(left top, red , blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(bottom right, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(bottom right, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(to bottom right, red , blue); /* 标准的语法 */
}

»をお試しください


角度を使用してください

あなたは勾配の方向をより細かく制御したいです場合は、(右下へ、左へ、右へ、下から上へ、など)の観点ではなく、事前に定義された方向を定義することができます。

文法

background: linear-gradient( angle , color-stop1 , color-stop2 );

角度は反時計回りに計算され、水平方向と勾配ラインの間の角度のことをいいます。 つまり、値は0degは下から上にグラデーションを作成します、90degは左から右へのグラデーションを作成します。

しかし、左から右に古い標準を使用して、多くのブラウザ(クローム、サファリ、fiefoxなど)、つまりは0degはグラデーションを作成することに注意し、下からグラデーションを作成します90degがトップに。 変換式90 - xは、基準角度はx = yは 、Yは、非標準の角度です。

次の例では、線形グラデーションの角度を使用する方法を示します。

指定した角度で​​直線勾配:

#grad {
  background: -webkit-linear-gradient(180deg, red, blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(180deg, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(180deg, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(180deg, red, blue); /* 标准的语法 */
}

»をお試しください


複数のカラー・ノードを使用して

次の例では、色の複数のノードを設定する方法を示しています。

色の複数のノードで上から下への直線勾配:

#grad {
  background: -webkit-linear-gradient(red, green, blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(red, green, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(red, green, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(red, green, blue); /* 标准的语法 */
}

»をお試しください

次の例では、直線勾配で色やテキストの虹を作成する方法を示します。

#grad {
  /* Safari 5.1 - 6.0 */
  background: -webkit-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Opera 11.1 - 12.0 */
  background: -o-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Firefox 3.6 - 15 */
  background: -moz-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* 标准的语法 */
  background: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet);
}

»をお試しください


透明性(透明性)

透明度(透明度)をサポートCSS3勾配はまた、弱化フェードの効果を作成するために使用することができます。

透明性を追加するために、我々は、ノードの色を定義するためにRGBA()関数を使用します。 0 1は完全に不透明で、完全に透明である:RGBA()最後のパラメータは、色の透明度を定義し、0から1までの値であり、機能しています。

次の例では、左から直線勾配を示しています。 出発点は完全に透明であり、ゆっくりと完全に不透明な赤に移行します:

透明で、左から右へ直線勾配:

#grad {
  background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /* Safari 5.1 - 6 */
  background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /* Opera 11.1 - 12*/
  background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /* Firefox 3.6 - 15*/
  background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /* 标准的语法 */
}

»をお試しください


重複直線勾配

繰り返し線形勾配()関数は、線形勾配を繰り返すために使用されます。

重複した直線勾配:

#grad {
  /* Safari 5.1 - 6.0 */
  background: -webkit-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Opera 11.1 - 12.0 */
  background: -o-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* Firefox 3.6 - 15 */
  background: -moz-repeating-linear-gradient(red, yellow 10%, green 20%);
  /* 标准的语法 */
  background: repeating-linear-gradient(red, yellow 10%, green 20%);
}

»をお試しください


CSS3の放射状の勾配

放射状グラデーションは、その中心で定義されています。

放射状のグラデーションを作成するには、少なくとも2色のノードを定義する必要があります。 あなたはスムーズな移行を表示したい色を表すColorノード。 同時に、あなたはまた、グラデーションの中心、形状(プロトタイプまたは楕円形)、サイズを指定することができます。 デフォルトでは、中央部のものはセンター(中央に示されている)である、グラデーションの形状が楕円(代表楕円)であり、勾配の大きさは(最も遠い隅に表される)最も遠いコーナーです。

放射状グラデーションの例:

半径方向の勾配

文法

background: radial-gradient( center, shape size, start-color, ..., last-color );

放射状グラデーション-色が均等に(デフォルトで)分散ノード

放射状グラデーションの色のノードが均等に分散します:

#grad {
  background: -webkit-radial-gradient(red, green, blue); /* Safari 5.1 - 6.0 */
  background: -o-radial-gradient(red, green, blue); /* Opera 11.6 - 12.0 */
  background: -moz-radial-gradient(red, green, blue); /* Firefox 3.6 - 15 */
  background: radial-gradient(red, green, blue); /* 标准的语法 */
}

»をお試しください

放射状のグラデーション-色偏在ノード

偏在放射状グラデーションカラーのノード:

#grad {
  background: -webkit-radial-gradient(red 5%, green 15%, blue 60%); /* Safari 5.1 - 6.0 */
  background: -o-radial-gradient(red 5%, green 15%, blue 60%); /* Opera 11.6 - 12.0 */
  background: -moz-radial-gradient(red 5%, green 15%, blue 60%); /* Firefox 3.6 - 15 */
  background: radial-gradient(red 5%, green 15%, blue 60%); /* 标准的语法 */
}

»をお試しください


設定形状

形状パラメータは、形状を定義します。 これは、値の円または楕円であることができます。 ここで、円を表す円は、楕円は楕円形を示しています。 デフォルト値は楕円形です。

円形状の放射グラデーションの形状:

#grad {
  background: -webkit-radial-gradient(circle, red, yellow, green); /* Safari 5.1 - 6.0 */
  background: -o-radial-gradient(circle, red, yellow, green); /* Opera 11.6 - 12.0 */
  background: -moz-radial-gradient(circle, red, yellow, green); /* Firefox 3.6 - 15 */
  background: radial-gradient(circle, red, yellow, green); /* 标准的语法 */
}

»をお試しください


異なるサイズでキーワードを使用します

サイズパラメータは、勾配の大きさを定義します。 これは、次の4つの値を指定できます。

  • 最も近い側
  • 最も遠い側
  • 最も近いコーナー
  • 最も遠いコーナー

異なるサイズのキーワードで放射状のグラデーション:

#grad1 {
  /* Safari 5.1 - 6.0 */
  background: -webkit-radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
  /* Opera 11.6 - 12.0 */
  background: -o-radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
  /* Firefox 3.6 - 15 */
  background: -moz-radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
  /* 标准的语法 */
  background: radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
}

#grad2 {
  /* Safari 5.1 - 6.0 */
  background: -webkit-radial-gradient(60% 55%, farthest-side,blue,green,yellow,black);
  /* Opera 11.6 - 12.0 */
  background: -o-radial-gradient(60% 55%, farthest-side,blue,green,yellow,black);
  /* Firefox 3.6 - 15 */
  background: -moz-radial-gradient(60% 55%, farthest-side,blue,green,yellow,black);
  /* 标准的语法 */
  background: radial-gradient(60% 55%, farthest-side,blue,green,yellow,black);
}

»をお試しください


繰り返し放射状グラデーション

繰り返しラジアル勾配()関数は、放射状のグラデーションを繰り返すために使用されます。

放射状のグラデーションを繰り返します。

#grad {
  /* Safari 5.1 - 6.0 */
  background: -webkit-repeating-radial-gradient(red, yellow 10%, green 15%);
  /* Opera 11.6 - 12.0 */
  background: -o-repeating-radial-gradient(red, yellow 10%, green 15%);
  /* Firefox 3.6 - 15 */
  background: -moz-repeating-radial-gradient(red, yellow 10%, green 15%);
  /* 标准的语法 */
  background: repeating-radial-gradient(red, yellow 10%, green 15%);
}

»をお試しください