CSS/セレクタ

CSS/セレクタ

全部

なんでもかんでも全部

*{
    width:200px;
}

タグ名

指定したタグで

hoge{
    width:200px;
}

属性(存在)

指定した要素の中で指定した属性を持っているもののみ

hoge[piyo]{
    width:200px;
}

hogeが指定する要素中でpiyo属性をもっているもの

属性値(ズバリ)

指定した要素の中で指定した属性が指定した値のもののみ

hoge[piyo="ぴよ"]{
    width:200px;
}

hogeが指定する要素中でpiyo属性が「ぴよ」なもののみ

属性値(ゆるい)

指定した要素の中で指定した属性が指定した値が含まれているもの ※属性には複数パラメータもつものがある

hoge[piyo~="ぴよ"]{
    width:200px;
}

hogeが指定する要素中でpiyo属性が「ぴよ」を含む

IDセレクタ

<p id="hoge">aaa</p>

頭に♯をつけて書く

#hoge{
    color:#FF0000;
}

クラスセレクタ

<p class="hoge">aaa</p>

頭に.(ドット)をつけて書く

.hoge{
    color:#FF0000;
}

実はこのクラスセレクタ、続けて書くとand条件として結合できる。class名はマークアップ的には修飾にあたるので、こいつを活用すると非常に切り分けがうまく書ける。

<p class="hoge piyo">aaa</p>

連続で書く

.hoge.piyo{
    color:#FF0000;
}

hoge クラス piyo クラス 両方のクラスが付与されている要素を指定ということになる。

列挙

コンマで区切る

hoge,moge{
    width:100px;
}

これでhogeが指す要素とmogeが指す要素に対してスタイル指定。 このセレクタの結合強度は弱く扱いとしては正規表現の「|」と同じで一番最後に評価される。 なので、これは

#hoge th,td{
  color:#FFF;
}

これと同じになる

#hoge th{
  color:#FFF;
}
td{
  color:#FFF;
}

子孫セレクタ

スペースで区切る

hoge moge{
    width:100px;
}

hogeが指定する要素中のmogeが指定する要素全部、直下だけじゃなくて全部

隣接セレクタ(以降)

チルダで区切る

hoge~moge{
    width:100px;
}

hogeが指定する要素のと同階層の要素でmogeが指定する要素以降にあるもの全部

隣接セレクタ(直後)

hoge+moge{
    width:100px;
}

hogeが指定する要素のと同階層の要素でmogeが指定する要素直後にあるもの1個

隣接セレクタ(直前)

2019-12-20 現在そういうセレクタは無い。

子セレクタ

hoge>moge{
    width:100px;
}

hogeが指定する要素の1個下の階層の要素でmogeが指定する要素全部

否定

hoge タグ配下の moge タグの要素で piyo クラスを持ってないモノ

hoge moge:not(.piyo){
    width:100px;
}

Tags

css/selector/start.txt · 最終更新: 2020-10-26 10:36 by ore