ホームページ作成/テキストの配置・装飾 (HTML,CSS)

CSSで見出しの頭に画像を加える(後編)(3ページ目)

見出しのデザインとして、見出しの先頭に画像を加えてみたいと思ったことはありませんか? スタイルシートなら、すべての見出しの先頭に、手軽に同じ画像を加えられます! 後編では、現実的な実現方法をご紹介!

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

全見出しの先頭にマーカー(画像)を加える 現実案の解説

h1要素用もその他の見出し用も基本は一緒ですので、ここでは h1 用のスタイルだけを取り上げて説明します。

h1 {
    background-image: url( redstar.gif );
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 32px;
}

この方法は、疑似要素を使ってマーカー(画像)を先頭に加える代わりに、 背景画像を前方向(左側)にのみ表示されるように指定し、マーカー分のスペースを前方向(左端)に空けることで、「マーカー」の表示を実現させています。

それでは、上記のスタイルを1行ずつ見ていきましょう。

background-image: url( skyblueball.gif );

ここで、見出しに背景画像を指定しています。 この指定で、見出しの背景に画像「 skyblueball.gif 」が表示されます。

background-repeat: no-repeat;

前の行で指定した背景画像の表示方法として「繰り返さない(no-repeat)」方法を指定しています。 画像は繰り返されないので、結局画像は1つしか表示されません。
これによって、マーカーとして画像が1つだけ表示されるようにしています。
※通常、何も指定しなければ、背景画像は領域一杯に繰り返して敷き詰められます。

background-position: left center;

ここで、背景画像の表示位置を指定しています。
マーカーに見えるように配置しないといけませんので、「左端(left)」の「(上下方向の)中央(center)」に表示されるよう指定しています。

例えば「right bottom」だと、右端の下端に表示されますし、「center center」だと、左右方向にも上下方向にも中央(つまり見出し領域の真ん中)に表示させることもできます。(それでは「マーカー」になりませんが。)
※ここでの指定は、数値を使って微調整も可能です。例えば、「 0% 40% 」と指定すれば、 「左端から 0%、上端から 40% の位置」に表示させることができます。

padding-left: 32px;

最後に、見出しの中の文字列の開始位置をずらしています。この行を指定しないと、マーカーの画像(背景画像)と文字が重なってしまいます。使用する画像の横幅より1~2ピクセル程度広く取ればちょうど良いでしょう。
ここでは、画像の横幅が31ピクセルなので、32ピクセルほど空間を空けるよう指定しています。 表示させる画像に合わせて調節して下さい。

サンプル

最後に、今回の記事(前編と後編)でご紹介したサンプルHTMLを用意しました。
ぜひ、お持ちのブラウザで見比べてみて下さい。

マーカー実現方法比較サンプル
(別ウインドウで開きます。)

おわりに

今回の記事では、前編で「疑似要素」を活用したマーカーの表示方法、 後編で「背景画像」を活用したマーカーの表示方法をご紹介致しました。
前者は、CSSで活用範囲の広い「疑似要素」について、後者は、マーカーを現実的に実現する方法についてお分かりいただけたと思います。 ぜひ、活用してみて下さい。

また、背景画像やマーカーに関する以下の記事もぜひご参照下さい。

【関連記事】

【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます