HTMLの <li>
タグは「List Item」の略で、リストアイテムを定義します。これは、順序付きリスト(<ol>
)、順序なしリスト(<ul>
)、またはメニュー(<menu>
)内で使用され、リスト内の各項目を表します。
基本的な使用方法
HTMLの <li>
タグは、リストアイテムを定義する際に使用されます。基本的には、順序なしリスト(<ul>
)、順序付きリスト(<ol>
)、またはメニューリスト(<menu>
, HTML5では廃止されました)の中で利用されます。以下に <li>
タグの基本的な使用方法を示します。
順序なしリストの場合 (<ul>
)
<ul>
<li>アイテム1</li>
<li>アイテム2</li>
<li>アイテム3</li>
</ul>
このコードでは、各 <li>
要素が <ul>
要素の子としてリスト化され、ブラウザでは通常、黒丸のマーカーで表示されます。
順序付きリストの場合 (<ol>
)
<ol>
<li>最初のアイテム</li>
<li>次のアイテム</li>
<li>最後のアイテム</li>
</ol>
ここでは、各 <li>
要素が <ol>
要素の子としてリスト化され、ブラウザでは番号付きのマーカーで表示されます。
リストアイテムに属性を適用する場合
<li>
要素には value
属性を適用することができますが、これは <ol>
の中でのみ有効です。この属性を使用して、リストアイテムの数値を指定し、リストのカウントを変更することができます。
<ol>
<li value="10">アイテム10</li>
<li>アイテム11</li>
<li>アイテム12</li>
</ol>
この場合、リストの数値は10から開始し、その後のアイテムは自動的に11、12と続きます。
ネストされたリストの場合
リストは他のリストを含むことができ、これを「ネストされたリスト」と呼びます。
<ul>
<li>アイテム1</li>
<li>アイテム2
<ul>
<li>サブアイテム1</li>
<li>サブアイテム2</li>
</ul>
</li>
<li>アイテム3</li>
</ul>
この例では、二番目のアイテムに対して別の <ul>
要素がネストされており、サブアイテムを含んでいます。
スタイルのカスタマイズ
CSSを使用して <li>
要素のスタイルをカスタマイズすることができます。例えば、リストマーカーのスタイルを変更したり、特定のアイテムに背景色やマージンを適用したりすることが可能です。
li {
list-style-type: square; /* リストアイテムのマーカーを四角に変更 */
margin-bottom: 5px; /* アイテム間のスペースを追加 */
}
<li>
タグは、情報を整理してユーザーに提示する際に、セマンティックな意味を持つ重要なHTML要素です。
属性とカスタマイズ
HTMLの <li>
タグは、グローバル属性やイベントハンドラ属性を持つことができます。また、順序付きリスト(<ol>
)の中で <li>
タグを使用する場合は、value
属性を使用してリストアイテムの開始番号を指定することが可能です。
<li>
タグの属性
- value (順序付きリストのみ):
value
属性は<ol>
内の<li>
要素に適用され、リストアイテムの番号を指定します。この属性によってリストのカウントを任意の数から開始させることができます。
<ol>
<li value="5">アイテム5</li>
<li>アイテム6</li>
</ol>
この例では、リストカウントが5から始まります。
- グローバル属性:
すべての HTML 要素と同様に、<li>
タグもid
,class
,style
,title
,lang
,data-*
などのグローバル属性を持つことができます。
CSSによるカスタマイズ
- リストスタイルの変更:
リストアイテムのマーカー(点や番号など)のスタイルは、CSSのlist-style-type
プロパティを使用して変更することができます。
ul {
list-style-type: square; /* 四角のマーカーに変更 */
}
- リストマーカーの画像:
list-style-image
プロパティを使用して、リストアイテムのマーカーとして画像を指定することができます。
ul {
list-style-image: url('path/to/image.png');
}
- インデントの調整:
padding
やmargin
プロパティを使用して、リストアイテムのインデント(内側や外側のスペース)を調整することができます。
li {
margin-left: 20px; /* 左側のマージンを追加 */
padding-left: 5px; /* 左側のパディングを追加 */
}
- リストアイテムの装飾の削除:
リストマーカーを完全に取り除きたい場合は、list-style-type
プロパティをnone
に設定します。
ul {
list-style-type: none;
}
- 特定のリストアイテムのスタイリング:
特定の<li>
要素に対して異なるスタイルを適用するために、class
やid
属性を使用します。
<ul>
<li class="important">重要なアイテム</li>
<li>通常のアイテム</li>
</ul>
.important {
font-weight: bold;
color: red;
}
CSSを使ったカスタマイズによって、リストアイテムの視覚的なプレゼンテーションを細かく制御することができます。これにより、リストをウェブページのデザインやコンテンツの階層構造に合わせて調整することが可能になります。
応用
HTMLの <li>
タグは、単なるリストアイテムを表示する以上の機能を持ち、ウェブデザインにおける多様な応用が可能です。以下に、<li>
タグのいくつかの高度な応用方法を紹介します。
カスタムマーカーとアイコン
CSSを使って、<li>
タグの標準的なマーカーをカスタムアイコンに置き換えることができます。
ul.custom-icons li {
list-style-type: none; /* 通常のマーカーを非表示にする */
padding-left: 20px; /* アイコンのためのスペースを作る */
background: url('icon.png') no-repeat left center; /* アイコンを背景画像として設定 */
}
CSSカウンターの使用
CSSカウンターを使用して、リストアイテムの番号付けをカスタマイズすることができます。
ol {
counter-reset: section; /* カウンターの名前を'section'に設定 */
}
li {
counter-increment: section; /* カウンターを増加させる */
}
li:before {
content: counters(section, ".") " "; /* カウンターの値を表示 */
}
アクセシビリティの強化
スクリーンリーダーやアクセシブルなウェブデザインにおいて、<li>
タグを適切に使用することは情報をアクセスしやすくするために重要です。aria-label
や role
といったARIA(Accessible Rich Internet Applications)属性を使用することで、階層的なリストや複雑なリスト構造を持つアイテムの意味を明確にすることができます。
インタラクティブなリストアイテム
JavaScriptやCSSのホバーエフェクトを利用して、リストアイテムにインタラクティブな機能を追加することができます。
li:hover {
background-color: #f4f4f4; /* ホバー時の背景色を変更 */
}
// JavaScriptを使ったインタラクティブな処理例
const listItems = document.querySelectorAll('li');
listItems.forEach(item => {
item.addEventListener('click', function() {
alert('リストアイテムがクリックされました!');
});
});
レスポンシブデザイン
メディアクエリと組み合わせて、異なるデバイスサイズでリストアイテムが最適に表示されるようにすることも可能です。
@media (max-width: 600px) {
ul {
padding-left: 10px;
}
li {
font-size: 14px; /* 小さなデバイスではフォントサイズを小さくする */
}
}
これらの応用は、ウェブページ上で <li>
タグを使った情報の提示方法を豊かにし、ユーザーにとって有用でアクセシブルなコンテンツを提供するためのものです。