aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/css/attribute_selectors/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/web/css/attribute_selectors/index.html')
-rw-r--r--files/ja/web/css/attribute_selectors/index.html236
1 files changed, 236 insertions, 0 deletions
diff --git a/files/ja/web/css/attribute_selectors/index.html b/files/ja/web/css/attribute_selectors/index.html
new file mode 100644
index 0000000000..dbe1c60acd
--- /dev/null
+++ b/files/ja/web/css/attribute_selectors/index.html
@@ -0,0 +1,236 @@
+---
+title: 属性セレクター
+slug: Web/CSS/Attribute_selectors
+tags:
+ - CSS
+ - CSS 3 属性セレクター
+ - CSS 属性
+ - Reference
+ - セレクター
+ - ノードの識別
+ - ノードの選択
+ - リファレンス
+ - 属性
+ - 属性セレクター
+ - 要素の識別
+translation_of: Web/CSS/Attribute_selectors
+---
+<div>{{CSSRef}}</div>
+
+<p>CSS の<ruby><strong>属性セレクター</strong><rp> (</rp><rt>attribute selector</rt><rp>) </rp></ruby>は、指定された属性が存在するかどうかや、その値に基づいて要素を選択します。</p>
+
+<pre class="brush: css no-line-numbers notranslate">/* title 属性を持つ &lt;a&gt; 要素 */
+a[title] {
+ color: purple;
+}
+
+/* href が "https://example.org" と一致する &lt;a&gt; 要素 */
+a[href="https://example.org"] {
+ color: green;
+}
+
+/* href に "example" を含む &lt;a&gt; 要素 */
+a[href*="example"] {
+ font-size: 2em;
+}
+
+/* href が "org" で終わる &lt;a&gt; 要素 */
+a[href$=".org"] {
+ font-style: italic;
+}</pre>
+
+<h2 id="Syntax" name="Syntax">構文</h2>
+
+<dl>
+ <dt><code>[<em>attr</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性を持つ要素を表します。</dd>
+ <dt><code>[<em>attr</em>=<em>value</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性の値が正確に <em>value</em> である要素を表します。</dd>
+ <dt><code>[<em>attr</em>~=<em>value</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性の値が正確に <em>value</em> と一致する要素を表します。空白区切りの語のリストの形で、複数の <em>value</em> を含めることができます。</dd>
+ <dt><code>[<em>attr</em>|=<em>value</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性の値が正確に <em>value</em> と一致するか、 <em>value</em> で始まり直後にハイフン (<code>-</code> (U+002D)) が続く要素を表します。言語のサブコードの一致によく使われます。</dd>
+ <dt><code>[<em>attr</em>^=<em>value</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性の値が <em>value</em> で始まる要素を表します。</dd>
+ <dt><code>[<em>attr</em>$=<em>value</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性の値が <em>value</em> で終わる要素を表します。</dd>
+ <dt><code>[<em>attr</em>*=<em>value</em>]</code></dt>
+ <dd><em>attr</em> という名前の属性の値が、文字列中に <em>value</em> を1つ以上含む要素を表します。</dd>
+ <dt id="case-insensitive"><code>[<em>attr</em> <em>operator</em> <em>value</em> i]</code></dt>
+ <dd>閉じ角括弧の前に <code>i</code> (または <code>I</code>) を追加すると、 (ASCII の範囲内の文字の場合) 値は大文字と小文字を区別せずに比較されます。</dd>
+ <dt id="case-sensitive"><code>[<em>attr</em> <em>operator</em> <em>value</em> s]</code> {{Experimental_Inline}}</dt>
+ <dd>閉じ角括弧の前に <code>s</code> (または <code>S</code>) を追加すると、 (ASCII の範囲内の文字の場合) 値は大文字と小文字を区別して比較されます。</dd>
+</dl>
+
+<h2 id="Examples" name="Examples">例</h2>
+
+<h3 id="Links" name="Links">リンク</h3>
+
+<h4 id="CSS">CSS</h4>
+
+<pre class="brush: css notranslate">a {
+ color: blue;
+}
+
+/* "#" で始まる内部リンク */
+a[href^="#"] {
+ background-color: gold;
+}
+
+/* URL のどこかに "example" が含まれるリンク */
+a[href*="example"] {
+ background-color: silver;
+}
+
+/* URL のどこかに "insensitive" が含まれるリンクで、
+ 大文字小文字は区別しない */
+a[href*="insensitive" i] {
+ color: cyan;
+}
+
+/* URL のどこかに "cAsE" があるリンクに一致
+大文字小文字の区別つき */
+a[href*="cAsE" s] {
+  color: pink;
+}
+
+/* ".org" で終わるリンク */
+a[href$=".org"] {
+ color: red;
+}</pre>
+
+<h4 id="HTML">HTML</h4>
+
+<pre class="brush: html notranslate">&lt;ul&gt;
+ &lt;li&gt;&lt;a href="#internal"&gt;Internal link&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="http://example.com"&gt;Example link&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="#InSensitive"&gt;Insensitive internal link&lt;/a&gt;&lt;/li&gt;
+ &lt;li&gt;&lt;a href="http://example.org"&gt;Example org link&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;</pre>
+
+<h4 id="Result" name="Result">結果</h4>
+
+<p>{{EmbedLiveSample("Links")}}</p>
+
+<h3 id="Languages" name="Languages">言語</h3>
+
+<h4 id="CSS_2" name="CSS_2">CSS</h4>
+
+<pre class="brush: css notranslate">/* `lang` 属性があるすべての div を太字にする。 */
+div[lang] {
+ font-weight: bold;
+}
+
+/* アメリカ英語の div はすべて青。 */
+div[lang~="en-us"] {
+ color: blue;
+}
+
+/* ポルトガル語の div はすべて緑。 */
+div[lang="pt"] {
+ color: green;
+}
+
+/* 中国語の div はすべて赤。
+ simplified (zh-CN) or traditional (zh-TW). */
+div[lang|="zh"] {
+ color: red;
+}
+
+/* 'data-lang' が中国語繁体字の div はすべて紫。 */
+/* 注: ハイフン区切りの属性は二重引用符なしで使用できる */
+div[data-lang="zh-TW"] {
+ color: purple;
+}
+</pre>
+
+<h4 id="HTML_2">HTML</h4>
+
+<pre class="brush: html notranslate">&lt;div lang="en-us en-gb en-au en-nz"&gt;Hello World!&lt;/div&gt;
+&lt;div lang="pt"&gt;Olá Mundo!&lt;/div&gt;
+&lt;div lang="zh-CN"&gt;世界您好!&lt;/div&gt;
+&lt;div lang="zh-TW"&gt;世界您好!&lt;/div&gt;
+&lt;div data-lang="zh-TW"&gt;世界您好!&lt;/div&gt;
+</pre>
+
+<h4 id="Result_2" name="Result_2">結果</h4>
+
+<p>{{EmbedLiveSample("Languages")}}</p>
+
+<h3 id="HTML_ordered_lists" name="HTML_ordered_lists">HTML 順序付きリスト</h3>
+
+<p>{{SeeCompatTable}}</p>
+
+<p>HTML 仕様書では、 {{htmlattrxref("type", "input")}} 属性は主に {{HTMLElement("input")}} 要素で使用されるため、大文字小文字の区別なく一致することを要求しており、順序付きリスト ({{HTMLElement("ol")}}) 要素の {{htmlattrxref("type", "ol")}} 属性に使おうとすると、 <a href="#case-sensitive">case-sensitive</a> 修飾子がなければ正しく動作しません。</p>
+
+<h4 id="CSS_3">CSS</h4>
+
+<pre class="brush: css notranslate">/* HTML が type 属性を扱う方法の癖の都合上、リストの種別には、大文字小文字を区別する指定が必要です。 */
+ol[type="a"] {
+ list-style-type: lower-alpha;
+ background: red;
+}
+
+ol[type="a" s] {
+ list-style-type: lower-alpha;
+ background: lime;
+}
+
+ol[type="A" s] {
+ list-style-type: upper-alpha;
+ background: lime;
+}</pre>
+
+<h4 id="HTML_3">HTML</h4>
+
+<pre class="brush: html; notranslate">&lt;ol type="A"&gt;
+  &lt;li&gt;Example list&lt;/li&gt;
+&lt;/ol&gt;</pre>
+
+<h4 id="結果">結果</h4>
+
+<p>{{EmbedLiveSample("HTML_ordered_lists")}}</p>
+
+<h2 id="Specifications" name="Specifications">仕様書</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">仕様書</th>
+ <th scope="col">状態</th>
+ <th scope="col">備考</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName("CSS4 Selectors", "#attribute-selectors", "attribute selectors")}}</td>
+ <td>{{Spec2("CSS4 Selectors")}}</td>
+ <td>ASCII の大文字小文字を区別する選択、区別しない選択のための修飾子を追加</td>
+ </tr>
+ <tr>
+ <td>{{SpecName("CSS3 Selectors", "#attribute-selectors", "attribute selectors")}}</td>
+ <td>{{Spec2("CSS3 Selectors")}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName("CSS2.1", "selector.html#attribute-selectors", "attribute selectors")}}</td>
+ <td>{{Spec2("CSS2.1")}}</td>
+ <td>初回定義</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2>
+
+<div class="hidden">このページの互換性一覧表は構造化データから生成されます。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
+
+<p>{{Compat("css.selectors.attribute")}}</p>
+
+<h2 id="関連情報">関連情報</h2>
+
+<ul>
+ <li>{{CSSxRef("attr")}}</li>
+ <li>単一要素の選択: {{DOMxRef("Document.querySelector()")}}, {{DOMxRef("DocumentFragment.querySelector()")}}, {{DOMxRef("Element.querySelector()")}}</li>
+ <li>一致するすべての要素の選択: {{DOMxRef("Document.querySelectorAll()")}}, {{DOMxRef("DocumentFragment.querySelectorAll()")}}, {{DOMxRef("Element.querySelectorAll()")}}</li>
+ <li>上記のメソッドはすべて {{domxref("ParentNode")}} に混在して実装されています。 {{DOMxRef("ParentNode.querySelector()")}} および {{DOMxRef("ParentNode.querySelectorAll()")}} を参照してください</li>
+</ul>