CSS3リニアグラデーション

04の01

CSS3でクロスブラウザの線形グラデーションを作成する

#999(濃い灰色)から#fff(白)の左から右への単純な直線勾配です。 J Kyrnin

直線勾配

最も一般的なグラデーションの種類は、2つの色の線形グラデーションです。 これは、勾配が、その線に沿って徐々に第1の色から第2の色に変化する直線上を移動することを意味する。 このページの画像は#999(濃い灰色)から#fff(白)までの単純な左から右への勾配を示しています。

リニアグラデーションは最も簡単に定義でき、ブラウザで最もサポートされます。 CSS3直線勾配は、Android 2.3以降、Chrome 1+、Firefox 3.6+、Opera 11.1+、Safari 4+でサポートされています。 Internet Explorerはフィルタを使用してグラデーションを追加し、IE 5.5に戻すことができます。 これはCSS3ではなく、ブラウザ間の互換性のためのオプションです。

グラデーションを定義するときには、いくつかの異なるものを定義する必要があります。

CSS3を使用して線形グラデーションを定義するには、次のように記述します。

線形勾配( 角度またはサイドまたはコーナーカラーストップカラーストップ

CSS3で上記のグラデーションを定義するには、次のように記述します。

線形勾配(左、#999999 0%、#ffffff 100%)。

あなたが書いたDIVの背景として設定するには:

div {
背景画像:直線勾配(左、#999999 0%、#ffffff 100%;
}

CSS3リニアグラデーションのブラウザ拡張

グラデーションをクロスブラウザで使用するには、ほとんどのブラウザでブラウザ拡張機能を使用し、Internet Explorer 9以降のフィルタ(実際には2つのフィルタ)を使用する必要があります。 これらはすべて同じ要素を使用してグラデーションを定義します(ただし、IEでは2色グラデーションのみを定義できます)。

Microsoftフィルタと拡張機能 - 異なるブラウザバージョンをサポートするには3つの異なる線が必要なため、インターネットエクスプローラは最も難しいサポートです。 上のグレーから白のグラデーションを得るには、次のように記述します。

/ * IE 5.5-7 * /
フィルタ:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#999999'、endColorstr = '#ffffff'、GradientType = 1);
/ * IE 8-9 * /
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#999999'、endColorstr = '#ffffff'、GradientType = 1);
/ * IE 10 * /
-ms-linear-gradient(左、#999999 0%、#ffffff 100%);

Mozilla Extension - -moz- extensionは、CSS3プロパティのように機能し、-moz- extensionだけで動作します。 上記のFirefoxのグラデーションを取得するには、次のように記述します。

-moz-linear-gradient(左、#999999 0%、#ffffff 100%);

Opera拡張機能 - 拡張機能は、Opera 11.1以降にグラデーションを追加します。 上記のグラデーションを得るには、次のように記述します。

-o線形勾配(左、#999999 0%、#ffffff 100%)。

Webkit Extension -webkit-拡張機能は、CSS3のプロパティとよく似ています。 Safari 5.1以上またはChrome 10以上で上記のグラデーションを定義するには、次のように記述します。

-webkit-linear-gradient(左、#999999 0%、#ffffff 100%);

Chrome 2+やSafari 4+で動作する旧バージョンのWebkit拡張もあります。 これでは、プロパティ名ではなく、値としてグラデーションのタイプを定義します。 この拡張子を持つ灰色から白のグラデーションを取得するには、次のように記述します。

-webkit-gradient(線形、左上、右上、カラーストップ(0%、#999999)、カラーストップ(100%、#ffffff));

フルCSS3リニアグラデーションCSSコード

上のグレーから白へのグラデーションを完全にサポートするブラウザをサポートするには、グラデーションをサポートしていないブラウザの場合は代替色を最初に含め、最後のアイテムの場合は完全に適合するブラウザのCSS3スタイルを使用する必要があります。 だから、あなたは次のように書く:

背景:#999999;
背景:-moz-linear-gradient(左、#999999 0%、#ffffff 100%);
背景:-webkit-gradient(線形、左上、右上、カラーストップ(0%、#999999)、カラーストップ(100%、#ffffff));
背景:-webkit-linear-gradient(左、#999999 0%、#ffffff 100%);
背景:-o-linear-gradient(左、#999999 0%、#ffffff 100%);
背景:-ms-linear-gradient(左、#999999 0%、#ffffff 100%);
フィルタ:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#999999'、endColorstr = '#ffffff'、GradientType = 1);
-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#999999'、endColorstr = '#ffffff'、GradientType = 1);
背景:直線勾配(左、#999999 0%、#ffffff 100%)。

このチュートリアルの次のページでは、グラデーションの部分について詳細に説明し、最後のページでは、自動的にCSS3グラデーションを作成するための優れた方法を示しています。

実際にCSSを使用してこの線形グラデーションを参照してください。

04の02

対角線グラデーションの作成 - グラディエントの角度

45度の角度での勾配。 J Kyrnin

開始点と終了点によってグラデーションの角度が決まります。 ほとんどの直線勾配は、上から下、または左から右です。 しかし、対角線上を移動するグラデーションを構築することは可能です。 このページの画像は、画像を右から左に45度の角度で移動する単純なグラデーションを示しています。

勾配線を定義する角度

角度は、要素の中心にある仮想円の線です。 0degが上、90degが右に、180degが下に、そして270degが左にポイントします。 0〜359度の任意の角度を定義できます。

正方形では、45度の角度が左上隅から右下に移動しますが、四角形では、画像でわかるように、開始点と終了点が少し外になります。

対角線グラデーションを定義するより一般的な方法は、右上などのコーナーを定義することです。グラデーションはそのコーナーから反対側のコーナーに移動します。 次のキーワードを使用して開始位置を定義できます。

そしてそれらはより具体的に結合することができます:

ここでは、右上の隅から左下に向かって赤か​​ら白へ変化するグラデーションのCSSが描かれています。

背景:## 901A1C;
背景画像:-moz-linear-gradient(右上、#901A1C 0%、#FFFFFF 100%);
background-image:-webkit-gradient(線形、右上、左下、カラーストップ(0、#901A1C)、カラーストップ(1、#FFFFFF));
背景:-webkit-linear-gradient(右上、#901A1C 0%、#ffffff 100%);
背景:-o線形グラジエント(右上、#901A1C 0%、#ffffff 100%)。
背景:-ms-linear-gradient(右上、#901A1C 0%、#ffffff 100%);
背景:直線勾配(右上、#901A1C 0%、#ffffff 100%)。

この例では、IEフィルターがないことに気付いたことがあります。 これは、IEは2つのタイプのフィルタを許可するだけです:上から下(デフォルト)と左から右(GradientType = 1スイッチ)です。

CSSを使用してこの対角線の線形グラデーションを実際に見てみましょう。

04の03

カラーストップ

3つのカラーストップを持つグラデーション。 J Kyrnin

CSS3の線形グラデーションを使用すると、グラデーションに複数の色を追加して、より美しいエフェクトを作成することができます。 これらの色を追加するには、コンマで区切ってプロパティの最後に色を追加します。 色の始まりと終わりの位置をライン上に含める必要があります。

Internet Explorerフィルタは2つのカラーストップのみをサポートしているので、このグラデーションを作成するときは、表示する最初の色と2番目の色のみを含める必要があります。

上記の3色グラデーションのCSSは次のとおりです。

背景:#ffffff;
背景:-moz-linear-gradient(左、#ffffff 0%、#901A1C 51%、#ffffff 100%);
背景:-webkit-gradient(線形、左上、右上、カラーストップ(0%、#ffffff)、カラーストップ(51%、#901A1C)、カラーストップ(100%、#ffffff)
背景:-webkit-linear-gradient(左、#ffffff 0%、#901A1C 51%、#ffffff 100%);
背景:-o線形勾配(左、#ffffff 0%、#901A1C 51%、#ffffff 100%)。
背景:-ms-linear-gradient(左、#ffffff 0%、#901A1C 51%、#ffffff 100%)。
フィルタ:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff'、endColorstr = '#ffffff'、GradientType = 1);
背景:直線勾配(左、#ffffff 0%、#901A1C 51%、#ffffff 100%)。

この線形グラデーションでは、CSSだけで3つのカラーストップが動作します。

04/04

ビルグラデーションをより簡単にする

究極のCSSグラジエントジェネレータ。 J Kyrninの礼儀によるスクリーンショットColorZilla

グラデーションを構築するのに役立つ2つのサイトがあり、それぞれに利点と欠点があります。まだすべてを行うグラデーションビルダーは見つかりませんでした。

究極のCSSグラジエントジェネレータ
このグラジェントジェネレータは、Photoshopなどのプログラムでグラデーションビルダーと同様の方法で実行されるため、非常に人気があります。 また、WebkitやMozillaだけでなく、すべてのCSS拡張機能を提供しているので、私も好きです。 このジェネレーターの問題点は、水平および垂直グラデーションのみをサポートしていることです。 斜めのグラデーションを行う場合は、私が推奨する他のジェネレータに移動する必要があります。

CSS3グラデーションジェネレータ
このジェネレータは、最初のものよりも少しわかりましたが、方向を斜めに変更することをサポートしています。

あなたが他のCSS Gradient Generatorより優れていると分かっている場合は、私たちにお知らせください