[15-4] リストマーカーを画像や任意のテキストに変更する方法

最終更新日:2017年10月31日  (初回投稿日:2011年06月06日)

今回は、<li>要素のリストマーカー「画像」や「任意のテキスト」に変更してみます。
リストマーカーをオリジナルなものに差し替えたいときに便利。 CSSを使います。

CSSプロパティ list-style-image
background-image
疑似要素 ::before

●2017年10月、本文を大幅に書き換えました。
内容がもともと「リストマーカーを画像にする」ことがメインだったので、タイトルをそれに合わせて変更し、「任意のテキスト」に変更する方法も追加しました。

<li>要素のリストマーカーを画像にする

マーカーを画像にするには、2つの方法があります。
CSSの list-style-imageプロパティ を使う
CSSの background-imageプロパティ を使う

list-style-imageプロパティ を使う

<li>要素のためのプロパティ list-style-imageプロパティで、リストマーカーに画像を指定できます。

下のサンプルは、この画像 をマーカーに指定しています。

  • リストアイテム
  • リストアイテム
  • リストアイテム

HTMLはこちら。

<ul id="smp1">
  <li>リストアイテム</li>
  <li>リストアイテム</li>
  <li>リストアイテム</li>
</ul>

CSSはこちら。

ul#smp1 {
	border:solid 1px #ccc;
	padding:0;
	margin:0
	}
ul#smp1 li {
	padding:0;
	margin:1em;
	list-style-image:url(images/listImage.gif);
	list-style-position:inside
    }

でも、この画像のマーカー、ズレてますよね。(上下が揃ってない)
<li>要素内のテキストには line-height(行間)の指定もあるのでズレるんです。
list-style-image には vertical-align のような上下位置を調整する機能がありません。
画像ファイルとテキストをピッタリ合わせるには、画像そのものにホワイトスペースを加えるなどの微調整が必要。

ですので、この list-style-imageプロパティよりも、画像を背景にする background-imageプロパティを使うほうがラクだし一般的です。次で説明します↓

background-imageプロパティ を使う

さきほどと同じ画像を、background-imageプロパティで <li>要素に指定します。
これだと画像がずれないし、画像とテキストの間のスペースも自由に調整できます。

  • リストアイテム
  • リストアイテム
  • リストアイテム

HTMLはこちら。

<ul id="smp2">
  <li>リストアイテム</li>
  <li>リストアイテム</li>
  <li>リストアイテム</li>
</ul>

CSSはこちら。

ul#smp2 {
	border:solid 1px #ccc;
	padding:0;
	margin:0
	}
ul#smp2 li {
	list-style:none;  /*デフォルトのマーカーを無しに*/
	padding-left:20px;  /*画像のスペースをあける*/
	margin:1em;
	background-image: url(images/listImage.gif);
	background-repeat:no-repeat;
	background-position:left center
	}

background-imageプロパティで画像を <li>要素の背景にしています(10行目)
そのために、<li>要素のマーカーを無しにして(7行目)、画像のためのスペースをあけています(8行目)
さらに背景画像の繰り返しは無し(11行目)、背景画像の位置は「x軸方向は左、y軸方向はセンター」にしています(12行目)

「backgroundプロパティ」については、「はじめてのCSS」カテゴリーの
【15-1】background関連のプロパティ(1/4)から解説していますので、こちらも読んでみてください。

<li>要素のリストマーカーを任意のテキストにする

これには CSSの 疑似要素 と呼ばれるものの中の1つ「::before」を使います。
擬似要素「::before」や「::after」は、指定した要素の内側に インライン要素としてコンテンツを生成します。

サンプルです。「オススメ!」というテキストをマーカーにしています。

  • リストアイテム
  • リストアイテム
  • リストアイテム

HTMLはこちら。

<ul id="smp3">
  <li>リストアイテム</li>
  <li>リストアイテム</li>
  <li>リストアイテム</li>
</ul>

CSSはこちら。

ul#smp3 {
	border:solid 1px #ccc;
	padding:0;
	margin:0
	}
ul#smp3 li {
	list-style:none;  /*デフォルトのマーカーを無しに*/
	margin:1em;
	}
ul#smp3 li::before {
	content:"オススメ! ";  /*任意のテキストを指定*/
	font-weight:bold;
	color:#f6c;
	}

<li>要素に擬似要素「::before」をつけて li::before としています(10行目)
contentプロパティで 好きなテキストを指定(11行目)
12、13行目は、そのテキストのための指定です。文字を太くし、色をピンクにしています。

擬似要素については、「はじめてのCSS」カテゴリーの
【3】id とか classって何? でも少し触れています。

次回予告

次回から、<li>要素を 横に並べてナビゲーションにしてみましょう。
CSS の floatプロパティを使う方法を次回に、displayプロパティを使う方法をその次の回でやります。

関連記事
このエントリーをはてなブックマークに追加

やる気を保つためにランキングに参加しています。
応援してくださると すっごいやる気を出します! (笑)

初心者にも使いやすい(と思う)レンタルサーバー

「初心者ですがレンタルサーバーはどこがいい?」というご質問をよくいただきます。
自由にファイルをアップロードできる自分のサーバがあると便利ですよね。ローカル環境じゃなくサーバ上で試してみたい時がありますからね。
私が使っているのは、 スターサーバーロリポップ!です。どちらも管理画面がわかりやすく、マニュアルも充実していて、料金も安い。どちらもライトプラン以上で WordPress が使えます。
初心者が始めやすいサーバだと思います。

ちょっと料金は高いけど、さくらのレンタルサーバや、エックスサーバー は、やはり老舗なのでおすすめです。
両方とも高スペックでコスパが良く、老舗でユーザーが多いので、質問する場がたくさんあります。初心者だけど仕事でサーバが欲しい場合は、安心なのではないかと思います。

スポンサーリンク

コメントの投稿

ご注意:メールアドレスは書かないで
「コメントを送信する」ボタンを押した後の「確認画面」で、メールアドレス・URL などを入力できるようになっており、メールアドレス・URL は、そのままオートリンクになる仕様です。
当方でメールアドレスだけ削除することも、メールアドレスを非公開にすることもできません
メールアドレスは書かないでください。詳しくはこちらにまとめましたのでご覧ください。

スポンサーリンク
最新記事
Category
オススメの本
Links
Calendar
02 | 2025/03 | 04
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
Archive
Profile

yuki★hata

Author : yuki★hata
せめて月1回の更新をめざします~。

メールフォームはこちら

スポンサーリンク
スポンサーリンク
Copyright © ほんっとにはじめてのHTML5とCSS3 All Rights Reserved.