ページ背景に画像を配置する

[戻る]

CSSを使えば、ページの背景に画像を敷き詰めて表示できますが、さらに特殊な配置で画像を敷き詰めることもできます。例えば、このページの背景部分のようなグラデーションを実現できます。(ページ上部の、グラデーション表現に注目)

背景にグラデーションがかかった rensyu5.html を作成してください。

作成例

このページの背景に表示されている背景画像の効果が作成例です。

作成手順

  1. ページの背景に画像を配置します。

    ここでは <body> に対して background-image プロパティを設定して背景画像を配置します。具体的には以下のように記述します。

    body { background-image: url('画像ファイルの名前'); }

    今回、配置する画像は以下のものを使用してください。

    red01.png ←ここからダウンロードできます。

    上の画像を「右クリック」→「画像を名前をつけて保存」などで rensyu フォルダ内に画像を保存してから、以下のスタイルシート設定を行ってください。

    body { background-image: url('red01.png'); }

    しかし、正しく設定をしても背景画像は想定と異なる表示のされ方をします。

  2. 背景画像は通常 上下左右にタイル状に敷き詰めて表示されます。 単純に画像を配置すると、以下のように見えるはずです。 (見やすいように、縮小して表示しています)

     

    画像がタイル状に敷き詰められないようにします。<body>に対して background-repeat プロパティを追加し repeat-x という値を設定すると、画像を横方向のみに敷き詰めることができ、その結果、理想的なグラデーションが実現できます。

    body {
      background-image: url('red01.png');
      background-repeat: repeat-x; }

    通常、背景画像はタイル状に敷き詰められますが……


    background-repeat: repeat-x; を追加すると、x方向、つまり横方向にだけ画像が並ぶように敷き詰められるというわけです。


  3. ページ上に文字を書きます。HTMLファイルを開き、好きなメッセージを記入します。ここでは3行分「テストメッセージ」と入力します。

    「テストメッセージ」なんてだっさい文字を書きたくない人は、代わりに何かカッコイイ文章を書いてもらってもOKです。😅

    テストメッセージ<br>テストメッセージ<br>テストメッセージ<br>
    テストメッセージ
    テストメッセージ
    テストメッセージ

    文字が表示されましたが、赤い部分と重なって見づらいです。

  4. 文字と背景の重なりを解消するために、CSSで上方向の余白(padding-top)を「140px」設定し、文字が赤い部分に重ならないようにします。

    body {
      background-image: url('red01.png');
      background-repeat: repeat-x;
      padding-top:140px; }

    上方向に余白 padding-top が設けられたことで、文字の位置が全体的に下にずれました。

    背景デザインと文字が重ならないことを確認してください。

    テストメッセージ
    テストメッセージ
    テストメッセージ

    もう少し長い文章を使った例

    効果が分かりにくかったかもしれないので、もう少し長めの文章でデモンストレーションをしてみます。参考にしてください。

    デザインと重なった例(読みにくい)

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    実行例 重なりを回避した例(読みやすい)

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

解説

CSSを利用すると、背景画像の位置や表示方法を詳しく設定できます。background-image で背景全体に画像を敷き詰めるだけでなく、background-repeat で1方向に画像を並べたり、ページ上に ワンポイント・イラストを配置することも出来るようになります。