webサイトの背景は、サイトの雰囲気を表現するのに重要な要素です。
グラーデーションを使って、美しい、おしゃれなサイトを演出しているサイトが多数あります。
そこで、今回は、サイトの背景色をグラデーションで表現するcssの基本的な書き方をいくつか紹介します。
今回紹介するhtmlは全て下記とします。
<body>
<div>
<p>背景をグラデーションにすると、きれいだよ。美しいよ。</p>
</div>
</body>
また、divとpタグのスタイルは下記にしています。
div {
margin: 100px 0;
text-align: center;
}
p {
color: #fff;
}
目次
背景グラデーションで表現するためのcssの基本的な書き方
線形グラデーション
背景をcssでグラデーションにするには、「background」に「linear-gradient」というプロパティを使って色の変化を表現します。
上下に色を変化させる表現は下記のような感じで。
body {
background: linear-gradient(#C33764, #1D2671 ) fixed;
}
線形グラデーションに角度をつける
先ほどの例は、上下への変化でしたが、この色の変化の方向を変えるためには、linear-gradient内に「deg」を使って数値を設定することで可能になります。
body {
background: linear-gradient(-90deg, #C33764, #1D2671 ) fixed;
}
いろんな数字を入れてみて、納得のいく角度を見つけてみましょう。
円形グラデーション
線ではなく、円の形でグラデーションをつけるには、「radial-gradient」を「linear-gradient」の代わりに使います。
body {
background: radial-gradient(#C33764, #1D2671 ) fixed;
}
真ん中から外へ色が変化していく感じですね。
画像にグラデーション色を重ねる
背景画像に、きれいなグラデーションを重ねることで、おしゃれ感をさらに演出することができます。これはブランドサイトなど、ハイクォリティなサイトなどによく使われていると思います。
当然ながら、画像を用意しておく必要があります。
その画像の上から色を重ねるわけですが、ベタ塗りしてしまうと画像が消えてしまいますので、うっすらと見えるように、透過度(色の透明度を出す)を設定します。
透過の設定は色々ありますが、rgbaで透過度を設定するのが一般的です。
body {
background: linear-gradient(rgba(195, 55, 10, .8), rgba(29, 38, 113, .8)),
url(cropped-logo_bannar.png);
background-size: cover;
}
画像がこのサイトのヘッダーロゴを使っているので、若干見づらくて申し訳ありませんが、こんな感じです。
グラデーションの色や見え方を検討するのにオススメなサイト
サンプルを見て配色イメージを決める
こちらはシンプルでわかりやすいです。ページを更新すると自動でいろんな配色が提案されるので、自分の好みを見つけやすいです。
「uiGradients」
角度やアニメーションも含め、CSSコードを自動生成してくれる
配色提案で色の感じを決めたら、あとは角度やアニメーション(色の変化を自動で行う)をつけるためのコードを自動で生成してくれる、秀逸なサイトがこちら。
「CSS GRADIENT ANIMATOR」
この二つさえあれば、十分におしゃれで美しいグラデーション背景を考えて、コードをgetできるはずです!