TECH I.S.

CSS複数の背景


この章では、複数の背景画像を 1 つの要素に追加する方法を学習します。

次のプロパティについても学習します。


  • background-size

  • background-origin

  • background-clip



CSS複数の背景

CSSでは、background-imageプロパティを使用して、要素に複数の背景画像を追加できます。

異なる背景画像はコンマで区切られ、画像が互いに積み重ねられ、最初の画像が視聴者に最も近くなります。

次の例には2つの背景画像があります。最初の画像は花(右下に配置)で、2 番目の画像は紙の背景(左上隅に配置)です。

#example1 {   background-image: url(img_flwr.gif), url(paper.gif);   background-position: right bottom, left top;   background-repeat: no-repeat, repeat; }

自分で試してみる»

複数の背景イメージは、個別のbackground(上記のとおり) またはbackgroundの短縮プロパティのいずれかを使用して指定できます。

次の例では、backgroundの短縮プロパティを使用しています(上記の例と同じ結果)。

#example1 {   background: url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top repeat; }

自分で試してみる»


CSS背景サイズ

CSSのbackground-sizeプロパティを使用すると、背景画像のサイズを指定できます。

サイズは、長さ、パーセンテージで指定するか、containまたはcoverの2つのキーワードのいずれかを使用して指定できます。

次の例では、背景画像のサイズを元の画像よりもかなり小さくします(pxを使用):

Lorem Ipsum Dolor

Lorem ipsum pain sit amet, consectetuer adipiscing elite, sed diam nonummy nibh euismod tincidunt ut laoreet pain magna aliquam erat volutpat.

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.


コードは次のとおりです。

#div1{ background: url(img_flower.jpg);   background-size: 100px 80px;   background-repeat: no-repeat; }

自分で試してみる»

background-sizeに使用できる他の2つの値は、containcoverです。
containキーワードは、背景画像を可能な限り大きくします (ただし、幅と高さの両方がコンテンツ領域内に収まる必要があります)。したがって、背景画像と背景配置領域の比率によっては、背景画像によってカバーされない背景領域が存在する場合があります。
coverキーワードは、コンテンツ領域が背景画像で完全に覆われるように背景画像を拡大縮小します (幅と高さの両方がコンテンツ領域以上になります)。そのため、背景イメージの一部が背景配置領域に表示されない場合があります。

次の例は、containcoverの使用法を示しています。

#div1{  background: url(img_flower.jpg);  background-size: contain;    background-repeat: no-repeat; } #div2{  background: url(img_flower.jpg);  background-size: cover;   background-repeat: no-repeat; }

自分で試してみる»


複数の背景画像のサイズを定義する

background-sizeプロパティは、複数の背景を操作する場合、背景サイズの複数の値(コンマ区切りのリストを使用)も受け入れます。

次の例では、3つの背景画像が指定されており、画像ごとに異なるbackground-size値が指定されています。

#example1 {   background: url(img_tree.gif) left top no-repeat, url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top repeat;   background-size: 50px, 130px, auto; }

自分で試してみる»


フルサイズの背景画像

ここで、常にブラウザーウィンドウ全体を覆うWebサイトの背景画像を作成したいと思います。

要件は次のとおりです。

  • ページ全体を画像で埋める(余白なし)
  • 必要に応じて画像をスケーリング
  • ページの中央に画像
  • スクロールバーを発生させない

次の例は、その方法を示しています。 <html>要素を使用します(<html>要素は常に少なくともブラウザーウィンドウの高さです)。次に、その上に固定された中央の背景を設定します。次に、background-sizeプロパティでサイズを調整します。

html {   background: url(img_man.jpg) no-repeat center fixed;   background-size: cover; }

自分で試してみる»


ヒーロー画像

<div>でさまざまな背景プロパティを使用して、ヒーロー画像(テキストを含む大きなイメージ)を作成し、必要な場所に配置することもできます。

.hero-image {   background: url(img_man.jpg) no-repeat center;   background-size: cover;   height: 500px;   position: relative; }

自分で試してみる»


CSSのbackground-originプロパティ

CSSのbackground-originプロパティは、背景画像が配置される場所を指定します。

このプロパティは、次の3つの異なる値を取ります。

  • border-box - 背景画像は境界線の左上隅から始まります
  • padding-box - (デフォルト)背景画像はパディング角の左上隅から始まります
  • content-box - 背景画像はコンテンツの左上隅から始まります

次の例は、background-originプロパティを示しています。

#example1{ border: 10px solid black;   padding: 35px;   background: url(img_flwr.gif); background-repeat: no-repeat;   background-origin: content-box; }

自分で試してみる»


CSSのbackground-clipプロパティ

CSSのbackground-clipプロパティは、背景の描画領域を指定します。

このプロパティは、次の3つの異なる値を取ります。

  • border-box - (デフォルト)背景は境界線の外側の端にペイントされます
  • padding-box - 背景はパディングの外側の端にペイントされます
  • content-box - 背景はコンテンツボックス内に描画されます

次の例は、background-clipプロパティを示しています。

#example1{ border: 10px dotted black;   padding: 35px;   background: yellow;   background-clip: content-box; }

自分で試してみる»


CSSの高度なbackgroundプロパティ

プロパティ

説明

background 1つの宣言ですべてのbackgroundプロパティを設定するための簡略プロパティ
background-clip 背景の描画領域を指定します
background-image 要素の1つまたは複数の背景画像を指定します
background-origin 背景画像を配置する場所を指定します
background-size 背景画像のサイズを指定します


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細