ここで他の回答を要約すると、箇条書きと<li>
リストアイテムのテキストの間のスペースをより細かく制御したい場合、オプションは次のとおりです。
(1)背景画像を使用する:
<style type="text/css">
li {
list-style-type:none;
background-image:url(bullet.png);
}
</style>
<ul>
<li>Some text</li>
</ul>
利点:
- 弾丸に好きな画像を使用できます
- CSS
background-position
を使用して、ピクセル、ems、または%を使用して、テキストに対して画像を配置することができます。
短所:
- ページに余分な(ただし小さい)画像ファイルを追加し、ページの重みを増やします
- ユーザーがブラウザのテキストサイズを大きくすると、箇条書きは元のサイズのままになります。また、テキストサイズが大きくなると、位置がずれる可能性があります。
- 幅のパーセンテージのみを使用して「レスポンシブ」レイアウトを開発している場合、画面の幅の範囲全体で、必要な場所に箇条書きを正確に取得することが難しい場合があります。
2. <li>
タグにパディングを使用する
<style type="text/css">
ul {padding-left:1em}
li {padding-left:1em}
</style>
<ul>
<li>Some text</li>
</ul>
利点:
- 画像なし=ダウンロードするファイルが1つ少ない
- のパディングを調整することで、箇条書きとテキストの間に必要なだけの水平スペースを
<li>
追加できます。
- ユーザーがテキストサイズを大きくすると、間隔と箇条書きのサイズが比例して拡大するはずです。
短所:
- 箇条書きをブラウザのデフォルトよりテキストに近づけることはできません
- CSSの組み込みの弾丸タイプの形状とサイズに限定
- 箇条書きはテキストと同じ色にする必要があります
- 弾丸の垂直方向の配置を制御できない
(3)テキストを追加の<span>
要素で囲む
<style type="text/css">
li {
padding-left:1em;
color:#f00; /* red bullet */
}
li span {
display:block;
margin-left:-0.5em;
color:#000; /* black text */
}
</style>
<ul>
<li><span>Some text</span></li>
</ul>
利点:
- 画像なし=ダウンロードするファイルが1つ少ない
- オプション(2)よりも箇条書きの位置をより詳細に制御できます–箇条書きをテキストに近づけることができます(ただし、私の最善の努力にもかかわらず
padding-top
、<span>
。他の誰かがただし、これの回避策...)
- 弾丸はテキストとは異なる色にすることができます
- ユーザーがテキストサイズを大きくする場合、箇条書きは比例して拡大する必要があります(pxでなくemsでパディングとマージンを設定した場合)
短所:
- 余分な非セマンティック要素が必要です(これにより、実際の生活よりもSOの方が友を失う可能性があります;)しかし、コードを可能な限り無駄のない効率的なものにしたい人にとっては煩わしく、プレゼンテーションとコンテンツの分離に違反します。そのHTML / CSSは提供することになっています)
- 弾丸のサイズと形を制御できない
ここでは、CSS4の新しいリストスタイルの機能を期待しています。これにより、画像やエクスタマークアップに頼らずに、よりスマートな箇条書きを作成できます。