CARVIEW |
Select Language
HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3KA8PQszxvsXkFG7eTjIt-F8d3fA9SCDpoyysiiNVeobA7pNRl7QpobDPagn27SJO8h
cache-control: public, max-age=3600
expires: Sat, 11 Oct 2025 18:40:24 GMT
last-modified: Fri, 10 Oct 2025 01:10:23 GMT
etag: W/"a7036e71aa4b1d6cf70ef74cfaf23bae"
x-goog-generation: 1760058623177467
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 193404
x-goog-meta-goog-reserved-file-mtime: 1760056900
x-goog-hash: crc32c=o2/xug==, md5=pwNucapLHWz3DvdM+vI7rg==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: dbf0922086410d9b83e2705888486017
date: Sat, 11 Oct 2025 17:40:24 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
属性セレクター - ウェブ開発の学習 | MDN
Toggle sidebar
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
属性セレクター
HTML の学習で学んだように、要素はマークアップについてさらに詳細な情報を提供する属性を持つことがあります。 CSS では、属性セレクターを使用して、ある種類の属性のある要素を対象に指定できます。このレッスンでは、これらのとても便利なセレクターの使い方を紹介します。
前提知識: | HTML の基本( 基本的な HTML の構文を学んでいること)、基本的な CSS セレクター。 |
---|---|
学習成果: |
|
存在や値のセレクター
これらのセレクターにより、要素を属性が存在するか(href
など)、または属性の値に対して様々な方法で一致させて選択できるようになります。
セレクター | 例 | 説明 |
---|---|---|
[attr] |
a[title] |
attr という属性名を持つ要素に一致します(値を角括弧の中に入れます)。 |
[attr=value] |
a[href="https://example.com"] |
attr という属性名で値が value (引用符の中の文字列)と完全一致する要素に一致します。 |
[attr~=value] |
p[class~="special"] |
attr 属性の値が正確に value である、または(空白区切りの)値のリストの中に value を含んでいる要素に一致します。 |
[attr|=value] |
div[lang|="zh"] |
attr 属性の値が正確に value である、または value の直後にハイフンが入ったもので始まる値を持つ要素に一致します。 |
以下の例では、これらのセレクターが使用されていることがわかります。
li[class]
を使用することで、 class 属性を持つ任意のセレクターに一致させることができます。これは、最初のものを除いたすべてのリストアイテムに一致します。li[class="a"]
は、a のクラスを持つセレクターには一致しますが、別のスペースで区切られたクラスを値の一部として持つ a のクラスを持つセレクターには一致しません。2 番目のリストアイテムを選択します。li[class~="a"]
は、a
のクラスを持つセレクターに一致しますが、空白で区切られたリストの一部にa
のクラスを含む値にも一致します。2 番目と 3 番目のリストアイテムを選択します。
html
<h1>属性の存在や値のセレクター</h1>
<ul>
<li>アイテム 1</li>
<li class="a">アイテム 2</li>
<li class="a b">アイテム 3</li>
<li class="ab">アイテム 4</li>
</ul>
css
body {
font-family: sans-serif;
}
li[class] {
font-size: 120%;
}
li[class="a"] {
background-color: yellow;
}
li[class~="a"] {
color: red;
}
部分文字列照合セレクター
これらのセレクターは、属性の値の中の部分文字列をより高度に照合させることができます。例えば、 box-warning
と box-error
のクラスがあり、文字列 "box-" で始まるものを全て一致させたい場合、 [class^="box-"]
を使用して両方を選択することができます(上記の通り、 [class|="box"]
でもできます)。
セレクター | 例 | 説明 |
---|---|---|
[attr^=value] |
li[class^="box-"] |
attr 属性の値が value で始まる要素に一致します。 |
[attr$=value] |
li[class$="-box"] |
attr 属性の値が value で終わる要素に一致します。 |
[attr*=value] |
li[class*="box"] |
attr 属性の文字列内のどこかに value を含むを持つ要素に一致します。 |
(参考: 長い間 ^
と $
は正規表現において、それぞれ 先頭 と 末尾 を意味する アンカー として使用されてきたことに注意すると有用かもしれません。)
次の例は、これらのセレクターの使用法を示しています。
li[class^="a"]
はa
で始まる属性値に一致するので、最初の 2 つのリストアイテムに一致します。li[class$="a"]
はa
で終わる属性値に一致するので、最初と 3 番目のリストアイテムに一致します。li[class*="a"]
は、a
が文字列のどこかに現れる属性値に一致します。
html
<h1>属性の部分文字列照合セレクター</h1>
<ul>
<li class="a">アイテム 1</li>
<li class="ab">アイテム 2</li>
<li class="bca">アイテム 3</li>
<li class="bcabc">アイテム 4</li>
</ul>
css
body {
font-family: sans-serif;
}
li[class^="a"] {
font-size: 120%;
}
li[class$="a"] {
background-color: yellow;
}
li[class*="a"] {
color: red;
}
まとめ
これで属性セレクターについては終了です。次の記事では続いて、擬似クラスと擬似要素セレクターについて説明します。