[記事の内容]

擬似クラスは、要素の位置や状態に応じてスタイルを適用する仕組みです。擬似要素は、要素の一部分や、要素の前後にスタイルを適用・コンテンツを追加する仕組みです。どちらもHTMLにクラス名を追加せずにデザインできるため、現場で頻繁に使用されます。
擬似クラスは種類が多いため、今回は現場でよく使用されるものに絞って紹介します。
:first-childや:nth-child()など、要素の位置や状態を条件にスタイルを適用します。::first-letterや::beforeなど、要素の一部分や前後にスタイルを適用します。シンプルなリストを作成しましょう。今回はulとliを使い、項目を6つ用意して擬似クラスを適用します。
<ul>
<li>項目1</li>
<li>項目2</li>
<li>項目3</li>
<li>項目4</li>
<li>項目5</li>
<li>項目6</li>
</ul>liの親要素になります。:first-childなどは、このliの位置を基準にスタイルを適用します。:first-child擬似クラスは、最初の子要素にスタイルが適用されます。
ul li:first-child {
background-color: #e2d0b6;
}ulの子であるliのうち、最初の1つだけが対象になります。#e2d0b6に指定します。:last-child擬似クラスは、最後の子要素にスタイルが適用されます。
ul li:last-child {
background-color: #e2d0b6;
}ulの子であるliのうち、最後の1つだけが対象になります。#e2d0b6に指定します。:nth-child(even)擬似クラスは、偶数番目の子要素にスタイルが適用されます。
ul li:nth-child(even) {
background-color: #e2d0b6;
}evenは偶数を表すキーワードで、2・4・6番目が対象になります。:nth-child(odd)擬似クラスは、奇数番目の子要素にスタイルが適用されます。
ul li:nth-child(odd) {
background-color: #e2d0b6;
}oddは奇数を表すキーワードで、1・3・5番目が対象になります。:nth-child(3)擬似クラスは、上から3番目の子要素にスタイルが適用されます。:nth-child(5)擬似クラスは、上から5番目の子要素にスタイルが適用されます。
/*上から3番目の子要素を茶色*/
ul li:nth-child(3) {
background-color: #e2d0b6;
}
/*上から5番目の子要素を緑色*/
ul li:nth-child(5) {
background-color: #b3d3ae;
}:nth-last-child(2)擬似クラスは、下から2番目の子要素にスタイルが適用されます。:nth-last-child(4)擬似クラスは、下から4番目の子要素にスタイルが適用されます。
/*下から2番目の子要素を茶色*/
ul li:nth-last-child(2) {
background-color: #e2d0b6;
}
/*下から4番目の子要素を緑色*/
ul li:nth-last-child(4) {
background-color: #b3d3ae;
}:nth-child(3n)擬似クラスは、3の倍数の子要素にスタイルが適用されます。
ul li:nth-child(3n) {
background-color: #e2d0b6;
}nには0, 1, 2…が順に入るため、3・6・9番目が対象になります。数字を変えれば、2の倍数や4の倍数にも応用できます。ここからは擬似要素です。擬似クラスと違い、コロンを2つ付けて記述します。::first-letterと::first-lineの確認には、文章のpタグを使用します。
<p>これはサンプルの文章です。擬似要素を使うと、文章の最初の文字や最初の行だけにスタイルを適用できます。画面幅によって、最初の行の長さは変わります。</p>::first-letter擬似要素は、最初の1文字にスタイルが適用されます。
p::first-letter {
color: #b3d3ae;
font-size: 30px;
}pタグ内の最初の1文字だけが対象になります。::first-line擬似要素は、最初の1行にスタイルが適用されます。
p::first-line {
color: #b3d3ae;
}pタグ内の最初の1行だけが対象になります。画面幅が変わると、対象の範囲も変わります。::beforeを使用すると、要素の直前にコンテンツが挿入されます。
ul li::before {
content: '●';
color: #b3d3ae;
}contentは::before・::afterで必須のプロパティで、指定しないと表示されません。::afterを使用すると、要素の直後にコンテンツが挿入されます。
ul li::after {
content: '▲';
color: #b3d3ae;
}今回は、現場でよく使用する擬似クラス・擬似要素をまとめて紹介しました。
擬似クラス(:)は要素の位置や状態を条件に、擬似要素(::)は要素の一部分や前後に対してスタイルを適用します。
どちらも実務で確実に使用するので、サンプルを試しながら覚えておきましょう。
:)、擬似要素はコロン2つ(::)で記述します。:first-childと:last-childで、最初と最後の要素にスタイルを適用します。:nth-child(even)と:nth-child(odd)で、偶数・奇数番目の要素にスタイルを適用します。:nth-child(n)は上から、:nth-last-child(n)は下から数えて対象の要素を指定します。:nth-child(3n)のように記述すると、3の倍数など規則的な要素を指定できます。::first-letterは最初の文字、::first-lineは最初の行にスタイルを適用します。::beforeと::afterは、要素の前後にコンテンツを挿入します。::before・::afterを使用するときは、contentプロパティを必ず指定します。2026.10.27
2026.10.21
2026.10.20
2026.10.19
2026.10.15
2026.10.14
2026.10.10
2026.08.14
2026.08.12
2026.04.05

© 2026 shu-naka-blog