CSSのセレクタ

せんせい
セレクタ、それはCSSを勉強する上で外せない基礎の基礎だ。これを理解しておかないと、CSSの便利さは3割減だ。きっちり勉強しとこう。
初心者
セレクタ?また難しそうな話ですね?
せんせい
バカヤロウ!告白するより簡単だ!何ヶ月も悩んで決心して、心臓バクバクさせながら告白したら「いい友達でいようね」なんて返事が返ってくることもないし、次の日に気分転換しようと思ってぶらついたら、知り合いとその娘が歩いてたなんてこともない!それぐらいセレクタは簡単だ!
初心者
なんか別の意味で大変というか、例えになっていないというか。
ようするに、セレクタは簡単だということでいいんでしょうか。
せんせい
そういうこと。ではセレクタの説明いってみよう。

セレクタとは?

body { color:#336666; } 

これは「<body>〜</body>の間の文字色を#336666にします」というCSSの命令文。

このbodyと指定してる部分、つまり何に{ }内のCSS命令を適用するか選択(セレクト)する部分をセレクタと呼びます。

HTMLの要素をセレクタにする

上の例では<body>というHTML要素をセレクタに選びました。これと同じように他のHTML要素をセレクタにすることができます。例えば・・・

p { color:#336666; } 

<p> </p>で囲んだ部分(段落・文章)の文字色を#336666にする。

a { color:#336666; } 

<a> </a>で囲んだ部分(リンクした部分)の文字色を#336666にする。

こんな感じでHTMLの要素をセレクタにして、CSSの命令を書いていきます。HTMLでは必ず< >で囲みますが、セレクタにする時は< >を取って入力することに注意する。

クラス名をセレクタにする

HTML要素の属性に割り当てたクラス名をセレクタに選ぶことができる。

例えばHTMLの<p>に「test」という名前のクラス名を割り当てたする。

<p class="test">クラス名をつけた段落</p>
<p>クラス名をつけてていない段落</p>

このclass="test"とクラス名をつけた<p>の文字色を変更したい場合は、次のようにCSSで指定する。

.test { color:#336666; } 

実際にためしてもらうとわかるけど、クラスを使って上のように指定すると、class="test"で「test」というクラス名をつけた<p>の文字色だけが変わる。

クラスにCSS命令を適用させたい時は、クラス名の前に半角の「.」が入っていることに注目。この「.」が有るか無いかでクラス名なのかHTMLの要素名なのかを判別させているわけ。

ID名をセレクタにする

クラスと同じように属性に設定したID名をセレクタに選ぶこともできる。

例えばトップページでニュースを書くスペースとして、<p>の属性にid="news"を割り当てたとする。

<p id="news">ニュースを書く段落</p>
<p>ほかの文章</p>

このid="news"を割り当てた部分の色を変えたい時はセレクタを次のように入力する。

#news { color:#336666; } 

クラス名の時は「.」をつけたけども、ID名の時には半角の「#」をつける。

セレクタの基本まとめ

せんせい
上で説明した3つがセレクタの基本だ。
初心者
つまりセレクタに選べるのは3つということですね?
せんせい
HTMLの要素に割り当てる、クラスに割り当てる、IDに割り当てる。これが基本。だけども、これだけじゃないぞ。もう少し高度なセレクタの選び方もある。
初心者
ということは、この3つを憶えておくだけじゃ駄目なんですよね?
せんせい
いや、最初はこの3つで十分だ。この3つを使い分けるだけでもCSSは十分使えるから安心してほしい。次のページで紹介する「少し高度なセレクタ」を勉強すれば、より実戦的な使い方が学べるので、ぜひチャレンジしてくれ。
初心者
せんせいも、フラれたからって落ちこまないでくださいね。
せんせい
ガンバリマス。