css 属性セレクタ 一覧

CSS 属性セレクタ一覧

説明

属性セレクタを使用すると、要素の属性に基づいて要素を選択できます。これにより、class や id を追加することなく、柔軟に要素を選択することができます。

属性セレクタの種類

属性セレクタには、以下のような種類があります。

| セレクタ | 説明 | 例 | |---|---|---| | [attr] | 指定した属性を持つ要素を選択します。 | [title] は、title 属性を持つすべての要素を選択します。 | | [attr=value] | 属性値が指定した値と完全に一致する要素を選択します。 | [target=_blank] は、target 属性の値が _blank である要素を選択します。 | | [attr~=value] | 属性値が、空白で区切られた単語のリストに、指定した値を含む要素を選択します。 | [class~=warning] は、class 属性の値に warning を含む要素を選択します。例えば、<div class="warning"><p class="important warning"> などです。 | | [attr|=value] | 属性値が指定した値と一致するか、指定した値で始まりハイフン (-) が続く要素を選択します。 | [lang|=en] は、lang 属性の値が en であるか、en- で始まる要素を選択します。例えば、<html lang="en"><p lang="en-US"> などです。 | | [attr^=value] | 属性値が指定した値で始まる要素を選択します。 | [href^="https"] は、href 属性の値が https で始まる要素を選択します。 | | [attr$=value] | 属性値が指定した値で終わる要素を選択します。 | [src$=".jpg"] は、src 属性の値が .jpg で終わる要素を選択します。 | | [attr*=value] | 属性値が指定した値を含む要素を選択します。 | [href*="example"] は、href 属性の値に example を含む要素を選択します。 | | [attr operator value i] | 上記のセレクタと同じですが、大文字と小文字を区別せずにマッチングを行います。 | [lang|=en i] は、lang 属性の値が enEneN、または EN である要素、およびこれらの値で始まりハイフン (-) が続く要素を選択します。 |

使用例

以下は、属性セレクタの使用例です。

例1:target="_blank" を持つすべてのリンクをスタイリングする。

html <a href="https://www.example.com" target="_blank">外部リンク</a>

css a[target="_blank"] { color: blue; text-decoration: underline; }

例2:class 属性に "warning" を含むすべての要素に赤い枠線を追加する。

```html

警告

重要な警告

```

css [class~=warning] { border: 1px solid red; }

注意

  • 属性値は、識別子(英字、数字、ハイフン (-)、アンダースコア (_) のみを含む)でない限り、引用符で囲む必要があります。
  • 属性セレクタは大文字と小文字を区別します。大文字と小文字を区別しないマッチングを行う場合は、i 修飾子を使用します。

参考資料

Q&A

Q1: 属性セレクタとクラスセレクタの違いは何ですか?

A1: 属性セレクタは、要素の属性に基づいて要素を選択します。一方、クラスセレクタは、要素の class 属性の値に基づいて要素を選択します。

Q2: 複数の属性セレクタを組み合わせることはできますか?

A2: はい、複数の属性セレクタを組み合わせることができます。例えば、[title][href^="https"] は、title 属性を持ち、href 属性の値が https で始まる要素を選択します。

Q3: 属性セレクタは、すべてのブラウザでサポートされていますか?

A3: はい、属性セレクタは、すべての主要なブラウザでサポートされています。ただし、古いブラウザでは、一部の属性セレクタがサポートされていない場合があります。

その他の参考記事:CSSプロパティセレクター