こんにちは!フロントエンドの現場で日々コードと格闘しているエンジニアです。
Webサイトを作っていると、「リストの先頭にあるあの『・(黒丸)』を、自分好みの可愛いアイコンや画像に変えたい!」という場面、必ず一度は訪れますよね。
今日は、そんな時に誰もが一度はぶつかる「`list-style-image`の罠」と、それを鮮やかに解決する現代的なテクニックを、現場の知恵を交えて解説していきます。焦らなくて大丈夫、一つずつ紐解いていきましょう!
—
1. まずは基本。「list-style-image」を使ってみよう
HTMLでリストを作るとき、`
- `タグの中に`
- `を並べますよね。あの黒丸は、実はCSSで簡単に画像に変えることができるんです。
まずは、昔からある標準的な方法を試してみましょう。
ul {
/ リストのマーカーを画像にする魔法のプロパティ /
list-style-image: url(‘icon-star.png’);
}たったこれだけ!……と言いたいところなのですが、実はここで多くの人が「あれ?」とつまずきます。
ここが「泥臭い」現実:サイズ調整ができない!
そう、`list-style-image`で指定した画像は、CSSで大きさ(widthやheight)を変えることができないんです。
例えば、用意した画像が大きすぎた場合、そのままのサイズで表示されてしまい、文字と重なってレイアウトが崩れてしまう……なんてことが頻発します。まるで「サイズ調整のできないスタンプ」を無理やり紙に押しているような感覚ですね。これでは、柔軟なWebデザインなんてできません。
—
2. 現代の救世主「::marker」の登場
「じゃあ、どうすればいいの?」と途方に暮れる必要はありません。今のWeb制作の現場では、`::marker` という擬似要素を使うのがスマートな正解です。
これを使えば、画像だけでなく、文字やアイコンフォントまで、リストマーカーとして自由に操ることができるんです。
実装のイメージ
`::marker`は、リストの「あの黒丸」だけにスポットライトを当てて、「お前はこれからこうなるんだ!」と命令するようなイメージです。
/ liの中にある「マーカー部分」だけを対象にする /
li::marker {
content: url(‘icon-star.png’); / ここで画像を指定 /
/ 実はこれでもサイズ調整は苦手な場合が多いんです /
}「あれ、結局画像だとサイズ調整できないのでは?」と気づいた方、鋭いですね!その通りです。画像そのものを直接マーカーにすると、どうしても融通が利きません。
—
3. 現場で一番使われている「裏ワザ」的な解決策
「画像マーカーを自由に大きくしたり小さくしたりしたい!」という時に、プロがよく使うのは、「背景画像として処理する」という方法です。
`::marker`を使うのではなく、あえて`list-style: none;`で黒丸を消して、`
- `タグの背景に画像を表示させるんです。これなら、`background-size`でサイズを自由自在に操れます。
ul {
list-style: none; / 標準の黒丸を一旦消します /
padding-left: 0;
}li {
padding-left: 25px; / 文字が画像と被らないように余白をとる /
background-image: url(‘icon-star.png’);
background-repeat: no-repeat;
background-position: left center; / 画像を左端の真ん中に配置 /
background-size: 16px 16px; / ここでサイズを自由に指定! /
}なぜこの方法が「正解」とされるのか?
お買い物の流れに例えてみましょう。
- `list-style-image`:完成済みの商品を買うけれど、サイズ変更不可。
- `::marker`:マーカー部分を装飾できるが、画像だとまだ少し制約がある。
- `background`を使った方法:自分で生地を選んでサイズを測って仕立てる「オーダーメイド」。
少し手間はかかりますが、デザイン崩れを防ぎ、どんな画面サイズでも綺麗に見せるためには、この方法が一番「現場で信頼できる」やり方なんです。
—
最後に:失敗しても大丈夫!
Web制作を始めたばかりの頃は、「思った通りの場所に画像が出ない」「サイズが揃わない」といったことで悩むのが普通です。それはあなたがコードと真剣に向き合っている証拠ですよ。
最初は難しいコードを使わなくても、まずは「背景画像として配置してみる」というアプローチから始めてみてください。それができれば、あなたの作るリストはグッとプロっぽく、洗練されたものに変わります。
もし行き詰まったら、またいつでもここを覗きに来てくださいね。あなたのWeb制作ライフを応援しています!

コメント