【CSS入門】backgroundに関する全てをマスター【size・position・imageなど 】

更新日:

この記事では背景を指定するCSSのbackgroundに関連するプロパティについて解説します。

backgroundとは?

個々の背景プロパティを一括指定できるショートハンドです。

CSS

background: 背景色 背景画像 リピート 開始位置;
 
background: #000 url(images/bg.gif) no-repeat top right;

プロパティの値は順不同で半角スペース区切りで指定でき、省略した値はそのプロパティのデフォルト値が適用されます。

この記事内にあるbackground-sizeだけはショートハンドには書けないので注意してください。

backgroundプロパティ詳細

backgroundで使用するプロパティは以下の通りです。

  • background-color
  • background-image
  • background-repeat
  • background-position
  • background-size

background-color

背景色を指定します。

background-colorに指定できる値は以下の通りです。

説明
transparent デフォルト。透明
色名 redなどの英語の色名で指定
RGB値 #f9f9f9などの6ケタの英数字で指定。頭には必ず#をつける

実際に使用するときは以下のように記述します。

HTML

<div class="BOX-A">BOX-A</div>

CSS

.BOX-A{
	width: 300px
	height: 200px;
    background-color: #9bc0e0;
}

background-image

背景画像のURLを指定します。

background-imageに指定できる値は以下の通りです。

説明
none デフォルト。背景画像なし
url(images/men.jpg) 相対パスで指定
url(https://www.sample.com/images/men.jpg) 絶対パス(URL)で指定

body全体に小さい背景画像を繰り返しで配置したいときは以下のように記述するだけでいいのですが、

CSS

.body{
  background-image: url(images/men.jpg);
}

特定の要素にのみ背景画像を配置したいときは、以下のようにwidth(幅)やheight(高さ)も一緒に記述します。

HTML

<div class="BOX-A"></div>

CSS

.BOX-A{
  width: 300px;
  height: 200px;
  background-image: url(images/men.jpg);
}

background-repeat

background-imageで指定した背景画像の繰り返し方法を指定します。

background-repeatに指定できる値は以下の通りです。

説明
repeat デフォルト。画像を縦横両方向に繰り返してタイル状に敷き詰めて表示する
repeat-x 画像を横方向に繰り返して表示する
repeat-y 画像を縦方向に繰り返して表示する
no-repeat 画像の繰り返しなし

実際に使用するときは以下のように記述します。

CSS

body{
  background-image: url(images/men.jpg);
  background-repeat: no-repeat;
}

background-position

background-imageプロパティで指定した背景画像の表示開始位置を指定します。

background-positionに指定できる値は以下の通りです。値の左側が垂直方向の位置で、右側が水平方向の位置を指定し、%かtopなどの英語で表記します。

説明
0% 0% デフォルト。左上
top left デフォルト。左上
50% 50% 中央
center center 中央
100% 100% 右下
bottom right 右下

実際に使用するときは以下のように記述します。

CSS

body{
  background-image: url(images/men.jpg);
  background-repeat: no-repeat;
  background-position: top right;
}

background-size

背景画像のサイズを指定します。このプロパティだけbackgroundショートハンドにはかけません。

background-sizeに指定できる値は以下の通りです。

説明
auto デフォルト。画像の幅と高さを自動で計算
〇〇px(または%) 値が1つの場合は幅が指定され、高さは自動的にautoになる
contain 縦横比を維持して、背景領域に収まるように背景画像を拡大縮小
cover 縦横比を維持して、背景領域を完全に覆うように背景画像を拡大縮小

実際に使用するときは以下のように記述します。

HTML

<div class="BOX-A"></div>

CSS

.BOX-A{
  background-image: url(images/men.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

幅と高さを指定したい時は値の左側で画像の幅、右側で画像の高さを指定します。pxではなく%で指定の場合は、表示領域に対しての表示になります。

複数の背景の利用方法

Webサイトを制作していると複数の背景を配置したい時があると思いますが、各レイヤーをカンマで区切る事だけの簡単な構文で可能です。

ショートハンドプロパティも使えますけど、以下のようにバラして書いた方が見やすいです。

CSS

.BOX-A{
  width: 500px;
  height: 500px;

  background-image:
    url("images/logo.gif"), /* 最前面の背景レイヤーの背景画像 */
    url("images/baby.jpg");
    url("images/bg.jpg");

  background-repeat:
    no-repeat, /* 最前面の背景レイヤーに対応 */
    no-repeat,
    repeat;

  background-position:
    top left, /* 最前面の背景レイヤーに対応 */
    center center,
    top left;

  background-size:
    auto, /* 最前面の背景レイヤーに対応 */
    auto,
    cover;
}

まとめ

この記事に書かれていることで、特に覚えておいて欲しいことは以下の2点です。

  • fontと違いショートハンドを使うことはよくある
  • 「background-size」だけはショートハンドには書けない

CSS関係の記事は他にも書いているので、宜しければそちらもチェックしてみてください。

【完全初心者向け】CSSについての超簡単まとめ

WEBサイトを作る上で、HTMLと並んで絶対に欠かせない言語といえばCSS。 この記事ではCSSについてなるべく難しい言葉を使わずに、でも要点は抑えて解説していこうと思います。是非肩の力を抜いて読み進 ...

続きを見る

【CSS入門】fontをマスター【family・size・weightなど 】

この記事ではCSSのfontについて解説します。 Contentsfontとは?fontプロパティ詳細font-stylefont-variantfont-weightfont-sizeline-he ...

続きを見る

【CSS入門】color・letter-spacing・word-breakなどをマスター

この記事ではfontに関連するプロパティについて解説します。 fontについては以下の記事をお読みください。 Contentsfont関連のプロパティcolorletter-spacingword-b ...

続きを見る

【CSS入門】border(枠線)とborder-radius(角丸)について学ぶ

この記事ではCSSのborderに関連するプロパティについて解説します。 Contentsborderとは?border-*-*borderプロパティ詳細border-widthborder-styl ...

続きを見る

【CSS入門】visibilityで要素を消そう【display:noneとは違う】

この記事ではCSSのvisibilityプロパティについて解説します。 Contentsvisibilityとは?visibilityの使い方visibility: visible;visibilit ...

続きを見る

【CSS入門】box-sizingを学んで楽をしよう【border-boxがおすすめ】

この記事ではサイトを作るときに必ず指定することになる、CSSのbox-sizingプロパティについて解説します。 Contentsbox-sizingとは?box-sizingの使い方content- ...

続きを見る

-CSS

Copyright© Web Emo , 2024 All Rights Reserved.