CSS入門 | CSSセレクター | セレクター

セレクター

CSSでは、スタイルを適用する対象を選択するためにセレクターを使用する。

代表的なセレクターは次のとおりである。

  • 全体セレクター
  • HTML要素セレクター
  • IDセレクター
  • classセレクター
  • groupセレクター

全体セレクター

CSSを適用する対象として、HTML文書内部のすべての要素を選択する。

<style>
    * { color: red; }
</style>

HTML要素セレクター

CSSを適用する対象として、HTML要素の名前を直接使って選択できる。

<style>
    h2 { color: teal; text-decoration: underline; }
</style>
...
<h2>この部分にスタイルを適用します。</h2>

IDセレクター

IDセレクターは、CSSを適用する対象として特定の要素を選択するときに使用する。 このセレクターは、Webページに含まれる複数の要素の中から、特定のID名を持つ要素だけを選択する。

<style>
    #heading { color: sandybrown; text-decoration: line-through; }
</style>
...
<h2 id="heading">この部分にスタイルを適用します。</h2>

HTMLとCSSでは、1つのWebページに属する複数の要素に同じID名を使っても、見た目上は問題なく動作することがある。 しかし、このように重複したIDでJavaScript処理を行うとエラーが発生する。 したがって、できれば1つのWebページに属する要素には異なるID名を使うか、classを使うのがよい。

classセレクター

classセレクターは、特定グループの複数の要素を一度に選択するときに使用する。 この特定グループをclassと呼び、同じclass名を持つ要素をすべて選択する。

<style>
    .headings { color: deepskyblue; text-decoration: overline; }
</style>
...
<h2 class="headings">この部分にスタイルを適用します。</h2>
<p>classセレクターを使うと、スタイルを適用するHTML要素を一度に選択できます。</p>
<h3 class="headings">この部分にも同じスタイルを適用します。</h3>

groupセレクター

groupセレクターは、上で説明した複数のセレクターを一緒に使いたいときに使用する。 groupセレクターは、複数のセレクターをカンマ(,)で区切って連結する。 このgroupセレクターは、コードの重複を避けてコードを簡潔にする。

<style>
    h2 { color: navy; }
    h2, h3 { text-align: center; }
    h2, h3, p { background-color: lightgray; }
</style>

CSS3セレクター Level 3

CSS3では、さまざまな機能を持つ多くのセレクターが新しく定義された。

セレクター 説明
一般兄弟セレクター 該当要素と兄弟関係にあり、文書内の位置で該当要素より後ろにあるすべての特定要素を選択する。
[属性名^="属性値"]セレクター 特定属性の値が特定文字列で始まる要素を選択する。
[属性名$="属性値"]セレクター 特定属性の値が特定文字列で終わる要素を選択する。
[属性名*="属性値"]セレクター 特定属性の値に特定文字列を含む要素を選択する。
:root 文書のroot要素を選択する。
:nth-child すべての子要素の中で、前からn番目に位置する子要素をすべて選択する。
:nth-last-child すべての子要素の中で、後ろからn番目に位置する子要素をすべて選択する。
:nth-of-type すべての子要素の中で、n番目に登場する特定タイプの要素をすべて選択する。
:nth-last-of-type すべての子要素の中で、後ろからn番目に登場する特定タイプの要素をすべて選択する。
:last-child すべての子要素の中で、最後に位置する子要素をすべて選択する。
:first-of-type すべての子要素の中で、最初に登場する特定タイプの要素をすべて選択する。
:last-of-type すべての子要素の中で、最後に登場する特定タイプの要素をすべて選択する。
:only-child 子要素を1つだけ持つすべての要素の子要素を選択する。
:only-of-type 子要素として特定タイプの要素を1つだけ持つすべての要素の子要素を選択する。
:empty 子要素をまったく持たない要素をすべて選択する。
:target 現在アクティブなtarget要素をすべて選択する。
:checked checked状態のinput要素をすべて選択する。
:enabled 使用できるinput要素をすべて選択する。
:disabled 使用できないinput要素をすべて選択する。
:not(セレクター) すべてのセレクターと一緒に使用でき、該当セレクターの意味を逆に適用する。