CSS3で左から右へのグラデーションを実装する方法
CSS3で左から右へのグラデーションを作成する
CSS3のlinear-gradient()関数を使うと、要素の背景に滑らかな色の変化を簡単に実装できます。ここでは、赤から青へと変化する「左から右」方向のグラデーションの作り方を解説します。
基本構文
左から右へのグラデーションは、to rightキーワードを指定するだけで実現できます。
background: linear-gradient(to right, red, blue);
この指定により、要素の左端が赤(red)、右端が青(blue)になり、その間の色が自動的に滑らかに補間されます。
ベンダープレフィックスについて
かつてはブラウザごとの互換性を確保するため、ベンダープレフィックス付きの記述を併用するのが一般的でした。現在の主要ブラウザでは標準のlinear-gradientだけで動作しますが、古い環境をサポートする場合は以下を参考にしてください。
-webkit-linear-gradient(left, red, blue):Safari・旧版Chrome向け-moz-linear-gradient(right, red, blue):旧版Firefox向け-o-linear-gradient(right, red, blue):旧版Opera向け
サンプルコード
以下のコードを実行すると、左から右へ赤から青に変化するグラデーションを実際に確認できます。
<html>
<head>
<style>
#grad1 {
height: 100px;
background: -webkit-linear-gradient(left, red , blue);
background: -o-linear-gradient(right, red, blue);
background: -moz-linear-gradient(right, red, blue);
background: linear-gradient(to right, red , blue);
}
</style>
</head>
<body>
<div id = "grad1"></div>
</body>
</html>
実装のポイント
- 標準仕様である
linear-gradient(to right, ...)は必ず最後に記述しましょう。先に書くと、後続のプレフィックス版によって上書きされる可能性があります。 - 色の指定はいくつでも追加できます。たとえば
linear-gradient(to right, red, yellow, blue)とすれば、3色が順に変化するグラデーションになります。 - 高さ(height)を指定しないとdiv要素は表示されないため、サンプルのように明示的に設定してください。
-
【CSS入門】floatプロパティで要素を左右に配置する方法
CSSのfloatプロパティとは?CSSのfloatプロパティは、ボックスやコンテンツの位置指定・フォーマットを行うためのプロパティです。これを利用すると、HTML要素をページの左側または右側に寄せて配置できます。floatプロパティに指定できる主な値は以下の通りです。left … 要素を左に浮動させるright … 要素を右に浮動させるnone … 浮動を解除する(初期値)それでは、実際のサンプルコードでfloatによる左右配置の方法を確認していきましょう。例1:floatで要素を左右に振り分ける次の例では、映画館のスクリーンと座席をイメージしたレイアウトを作成し、floatプロパティによっ
-
CSSでスクロールに連動して変化するグラデーション背景を実装する方法
Webページをスクロールしたときに、背景のグラデーションが自然に変化していく演出は、サイトに動きと深みを与えてくれる効果的なテクニックです。CSSだけでこの効果を実現するには、linear-gradient()を使ったグラデーション背景と、十分な高さを持つbody要素を組み合わせます。 仕組みのポイント この手法の鍵となるのは、以下の2点です。 bodyの高さを250vhなど画面より大きく設定する: ページ全体が長くなることでスクロールが発生します。グラデーションはbody全体に描画されるため、スクロールに応じて見えている部分が変化し、まるでグラデーションが「動いている」ように見えます。 l