セレクタというもの
今回は、セレクタについて説明していくじゃ。
セレクタって、要素名を書くだけじゃないんですか?
基本的にはそうなのじゃが、
他にも便利な使い方があるんじゃよ。
分かった!
先頭に.(ドット)とか:(コロン)が付いてるアレのことだろ。
その通りじゃ。
まずは.(ドット)で始まるセレクタから解説していこうかの。
これはクラスセレクタと言うて、
あ、class
属性を使うんですね!
うむ。よく勉強してきたのぅ。
書き方は、こうじゃ。
.クラス名
・・・・・まんまじゃん。
だぁかぁらっ、CSSは簡単に出来てるのじゃっ
で、この設定を使いたい要素に、
class="クラス名"
とするのじゃな。
例を出して説明するのが早いじゃろ。
例えば、
とゆークラスを作って、
<span class="red-font">赤色の文字</span>
<div class="red-font">赤色の文字</div>
<code class="red-font">赤色の文字</code>
とすると、その文字はぜーんぶ赤く表示されるのじゃよ。
color
っつーのは、
文字の色を変えるプロパティって事だな。
そうじゃな。
背景色に対して前景色と呼ばれとる。
話がそれとるが、背景色に暗い色を使って、
文字にクラスぎる色を使うと、
見えにくいので注意することじゃ。
・・・・・・・・。
クラスぎる色。
いや、何度も言わなくても聞こえてるから。
おぉ、そうじゃったのか。
このセレクタは、
要素のセレクタ(単純セレクタというのじゃ)と同じく、
class
で何度も呼び出せるし、
そのセレクタの宣言を書きかえることで、
そのクラスが使われとるすべての要素の
プロパチィ値を変更することができるのじゃ。
それから、前に要素名を添えることで、
その要素に限定したクラスを作ることが
できるぞぃ。
.red-font { color : red }
h1.red-font { color : red ; font-style : italic }
h2.red-font { color : red ;font-size : small }
こうすると、
class="red-font"のh1要素は斜体の赤い文字で、
class="red-font"のh2要素は小さ目の赤い文字で、
class="red-font"の他の要素はただ赤文字で
表示されるぞい。
ol li
みたいに、
間にコンマもドットもコロンもないのがあるんだけど、
これって間違ってるんじゃないの?
いやいや、それもセレクタの一種なのじゃよ。
ol
に入れ子になっているli
に
効果を限定するセレクタじゃ。
これは子孫セレクタと呼ばれとる。
もっと細かく、
div h1 span span
なんてこともできるぞぃ。
この場合は、
div
に入れ子になっている
h1
に入れ子になっている
span
に入れ子になっているspan
に、
宣言が適用されるのじゃな。
へー、便利。
博士、コロンの付いたものは何なんでしょう。
見たところ、要素名を続けるんじゃなさそうだけど。
うむ、これは疑似クラスや疑似要素と言っての、
クラスや要素モドキの働きをするって事か。
わざわざ別に用意してあるって事は、
普通は適用出来ないような部分って事だな。
ほほー、その通りじゃ。
以下が疑似クラスの一覧じゃ。
:link | このセレクタで未読リンクの スタイルを設定するじゃ。 body のlink と同じようなものじゃが、link では、色しか設定できなかったじゃろ。 |
---|---|
:visited | このセレクタで既読リンクの スタイルを設定するのじゃな。 body のvlink と同じようなものじゃが、vlink では、色しか設定できなかったじゃろ。 |
a:hover | マウスカーソルがリンクの上に来た時の スタイルを設定するじゃ。 こればっかりは、HTMLにも類似したものはないのじゃナ。 |
a:active | このセレクタで選択状態のリンクの スタイルを設定するじゃよ。 body のalink と同じようなものじゃが、alink では、色しか設定できなかったじゃろ。 |
書く時も、以上の順番での。
なんでですか?
順番を変えたら、例えば
リンクにカーソルが載っても
せっかく書いたスタイルが適用されんじゃろが。
そうか、
後ろに書いたスタイルのほうが強いんですね!
そうなのじゃ。
正確には、まず詳細度というのがあって、
それで負けたら、じゃ。
詳細度とゆうのは
「このセレクタの緻密さはどんくらいかのー」というのを
示すもので、簡単に言えば、
それが高いほうが、より細かい指定がされておるから
優先的に適用されるということ何じゃ。
style
属性は無条件で勝ち- クラスが多いほうの勝ち
- それが同じなら、要素名の多いほうが勝ち
- それも同じなら、あとのほうが勝ち
んっと、疑似クラスはクラスの一種と考えるんですか?
そうじゃ。同じように、
疑似要素は要素の一種と考えるのじゃ。
疑似要素の解説は。
あ、それとなんで:hover
と:active
だけa
付いてんの?
これって要素名だろ。
えーっと、パス。
んじゃ、また次の授業で。
博士、どこ行くんですかーっ。