"CSS Tips Factory" : Presented by Nishishi via WordPress.

ボックスの右端で縦方向にだけ背景画像を並べる [ボックス, イメージ]

ページやボックスの右端で、縦方向だけにずらっと背景画像を並べる……って、あんまり需要なさそうな気もするんだけど。まあ、そんなこともできます。
例えば、以下のような感じで。

こんな感じで、ボックスの右側にだけ、縦方向に背景画像が並びます。→
ここでは、うさぎマスコットの画像を並べています。
ちょっと画像サイズが大きめなので、このサンプルスペースではそんなにたくさんは並ばないでしょうけど…。
ちなみに、このうさぎは「具満タンWEB」の画像素材(有料)から。

上記のサンプルのように、右端で縦方向にだけ背景画像を並べるには、以下のような感じでスタイルシートを書きます。

div.sample {
   background-image: url("rabbit.gif"); /* 背景画像 */
   background-repeat: repeat-y; /* 縦にだけ並べる */
   background-position: right top; /* 右上から描画 */
}

※上記のソースは、sampleクラスが付加されたdiv要素(<div class="sample">~)を対象に装飾する場合。ページ全体を対象にするなら、body要素に対してスタイルを記述します。

ここで使っている3つのプロパティの意味は、以下の通り。

  • background-imageプロパティで背景画像を指定。
  • background-repeatプロパティで、背景画像の繰り返し方向を指定。値に「repeat-y」を指定すれば縦方向にだけ繰り返されます。(「repeat-x」を指定すれば横方向のみ。)
  • background-positionプロパティは、背景画像の表示開始位置を指定します。値に「right top」と指定しているので「右上」から。

ちなみに、background-positionプロパティの値には「right bottom」とか「right center」と書いても右端の縦方向に並びます。上下方向で基準になる位置が、top(上端)になるか、center(中央)になるか、bottom(下端)になるかの違いだけです。

背景画像と文字が重ならないようにする

先ほどのサンプルだと、ボックスの右端で、背景画像と文字が重なってしまっています。これを解消するには、padding-rightプロパティを使って、右端に(内側の)余白を設ければよいでしょう。

ここで使っている画像の横幅が42ピクセルなので、とりあえず50ピクセルほど余白を設けてみます。以下のようにスタイルシートを記述します。

div.sample {
   background-image: url("rabbit.gif");
   background-repeat: repeat-y;
   background-position: right top;
   padding-right: 50px; /* 右端の余白 */
}

すると、先ほどのサンプルは、以下のように表示されます。

今度は、ボックス右端の内側に(背景画像として指定している画像の横幅よりも大きな値で)余白を設けているので、文字と背景画像が重なることはありません。改行のないながーい文章を書いても、背景画像と接する前に、自動的に改行されて表示されます。

こんな感じで。
まあ、右端にだけ縦方向に背景画像を表示する需要があるのかどうかは分かりませんが…。(^_^;)

background-positionプロパティを書かなければ、背景画像は「左上」から描画されるので、背景画像は左端にだけ(縦方向に)並びます。
左端にだけ画像が並ぶのはありふれてるので、右端に並べる方法を紹介してみました。(^_^;)

このCSS TIPSへのコメントはお気軽に! [コメントはまだありません。]

著者紹介

主要なカテゴリ

このCSS TIPSへのコメント・トラックバック

コメントはまだありません。

コメント投稿欄 このCSS TIPSに対するコメント投稿を歓迎します。

(必須)

(必須) ※公開されません

※公開(リンク)されます

コメント:

※投稿内容によってはフィルタによって保留扱いとなる場合があります。その場合は承認後に掲載されます。
※本文中にURLっぽい文字列を記述すると、投稿内容はスパム扱いとなって無視されてしまう場合がありますので書かないようご注意下さい。

トラックバック

このCSS TIPSへのトラックバックURLは以下の通りです。

※言及リンクがないトラックバックは拒否されますのでご注意下さい。また、文字コードはUTF-8でお送りいただける方が望ましいです。