CSS属性選択 解説
CSSで属性による要素の選択について
CSSでは、HTML要素の属性に基づいて要素を選択することができます。これにより、特定の条件を満たす要素をスタイル設定することが可能になります。
基本的な構文
selector[attribute] {
/* 該当する要素のスタイル */
}
- attribute
要素の属性名(例えば、id
、class
、href
など) - selector
要素のセレクタ(例えば、p
、div
、a
など)
例
ID属性による選択
<p id="my-paragraph">This is a paragraph.</p>
#my-paragraph {
color: blue;
font-weight: bold;
}
class属性による選択
<p class="important">This is an important paragraph.</p>
.important {
background-color: yellow;
border: 1px solid red;
}
<img src="image.jpg" alt="My Image">
img[alt="My Image"] {
border: 2px solid green;
}
selector[attribute1][attribute2] {
/* 該当する要素のスタイル */
}
<a href="https://example.com" target="_blank" class="external-link">Link</a>
a[href^="https"][target="_blank"].external-link {
color: purple;
text-decoration: underline;
}
属性の値による選択
- 含む
[attribute~="value"]
注意事項
- 複数の属性による選択では、すべての条件を満たす要素が対象となります。
- 属性値はクォート(
"
または'
)で囲む必要があります。 - 属性名は大小文字を区別します。
CSS属性選択の例コード解説
<p id="my-paragraph">This is a paragraph.</p>
#my-paragraph {
color: blue;
font-weight: bold;
}
- CSS
#my-paragraph
はIDセレクタで、id
属性が"my-paragraph"
である要素を指定します。この要素に対して、青色のフォントと太字のスタイルを適用します。 - HTML
<p id="my-paragraph">
の部分で、id
属性に値として"my-paragraph"
を指定しています。
<p class="important">This is an important paragraph.</p>
.important {
background-color: yellow;
border: 1px solid red;
}
- CSS
.important
はクラスセレクタで、class
属性が"important"
である要素を指定します。この要素に対して、黄色の背景色と赤いボーダーを適用します。 - HTML
<p class="important">
の部分で、class
属性に値として"important"
を指定しています。
<img src="image.jpg" alt="My Image">
img[alt="My Image"] {
border: 2px solid green;
}
- CSS
img[alt="My Image"]
は、img
要素でalt
属性が"My Image"
である要素を指定します。この要素に対して、緑色のボーダーを適用します。 - HTML
<img alt="My Image">
の部分で、alt
属性に値として"My Image"
を指定しています。
<a href="https://example.com" target="_blank" class="external-link">Link</a>
a[href^="https"][target="_blank"].external-link {
color: purple;
text-decoration: underline;
}
- CSS
a[href^="https"][target="_blank"].external-link
は、a
要素でhref
属性が"https"
で始まるもの、target
属性が"_blank"
であるもの、class
属性が"external-link"
である要素を指定します。この要素に対して、紫色のフォントと下線を適用します。 - HTML
<a href="https://example.com" target="_blank" class="external-link">
の部分で、href
属性に"https://example.com"
、target
属性に"_blank"
、class
属性に"external-link"
を指定しています。
CSS属性選択の代替方法
CSS属性選択の代替方法として、以下の手法が挙げられます。
IDセレクタ
- 例
- 構文
#id-name
- 特徴
個々の要素にユニークなIDを割り当て、そのIDを使用して要素を直接選択します。
<p id="my-paragraph">This is a paragraph.</p>
#my-paragraph {
/* Styles for the element with id="my-paragraph" */
}
クラスセレクタ
- 構文
.class-name
<p class="important">This is an important paragraph.</p>
<div class="important">This is an important div.</div>
.important {
/* Styles for all elements with class="important" */
}
要素セレクタ
- 構文
element-name
- 特徴
要素名に基づいて要素を選択し、その要素に共通のスタイルを適用します。
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
p {
/* Styles for all paragraph elements */
}
属性セレクタの組み合わせ
- 構文
selector[attribute1][attribute2]...
- 特徴
複数の属性を組み合わせて、より具体的な要素の選択が可能になります。
<a href="https://example.com" target="_blank" class="external-link">Link</a>
a[href^="https"][target="_blank"].external-link {
/* Styles for links starting with "https", opening in a new tab, and having class "external-link" */
}
擬似クラス
- 構文
selector:pseudo-class
- 特徴
要素の状態や位置に基づいて要素を選択し、スタイルを適用します。
<a href="https://example.com">Link</a>
a:hover {
/* Styles for the link when hovered */
}
css html css-selectors