よく使うものからちょっとマイナーなものまで、いざというときのための色々なセレクタの指定方法です。
CSSの記述は3つの要素でできている
念の為おさらいです。
CSSはセレクタ(どの要素の)、プロパティ(何を)、値(どのように)の3つの要素で構成されています。
子孫要素
親の中にある子要素。階層の深さは関係なく、該当すればすべて対象になる。
div p{
color: #da3b03;
}
直下の子要素
親のすぐ下の階層の子要素。孫要素以降は対象外。
div > p{
color: #da3b03;
}
兄弟要素
基準の要素より後に出てくる兄弟要素。同じ階層の要素が対象。
h1~p{
color: #da3b03;
}
隣接した要素
その要素に隣接した後続の要素。
p + p{
color: #da3b03;
}
属性で指定
その属性を持っている要素。属性の値は問わない。
a[href]{
color: #da3b03;
}
属性値の一部が一致する要素
属性値の一部が一致している要素。位置に関係なく含まれていればすべて対象になる。
イコールの前に「*」をつける。
p[class*="aaa"]{
color: #da3b03;
}
属性値の前方が一致する要素
属性値の始まりが一致している要素。イコールの前に「^」をつける。
p[class^="aaa"]{
color: #da3b03;
}
属性値の後方が一致する要素
属性値の終わりが一致している要素。イコールの前に「$」をつける。
p[class$="aaa"]{
color: #da3b03;
}
文章の1行目
文章の1行目に対してスタイルを適用する。改行された文章は対象外。
p::first-line{
color: #da3b03;
}
1文字目
文章の1文字目に対してスタイルを適用する。
p::first-letter{
color: #da3b03;
}
〇〇以外の要素
not(除外したいもの)で除外ができる。pのうちクラス名がaaaでないものに適用。
p:not(.aaa){
color: #da3b03;
}
空の要素
中身が空っぽの要素に対してスタイルを適用。
p:empty{
display:none
}
全ての要素
タグの種類を問わず、すべての要素にスタイルを適用。
*{
color: #da3b03;
}
最上位の親要素
文書構造の最上位の要素であるルート要素への指定。CSS変数を定義する時に使うことが多い。
:root{
--orange: #da3b03;
}
/*使う時*/
.class{
color: var(--orange);
}
疑似要素
beforeは要素の前に、afterは要素の後に疑似要素を追加する。指定するときはコロンの数は2つで、contentは必須。contentがないと疑似要素は生成されない。
div::before{
content:'';
}
div::after{
content:'';
}
リンク関連
未訪問のリンク
a:link{
color: #da3b03;
}
訪問済みのリンク
a:visited{
color: #da3b03;
}
ホバー状態のリンク
a:hover{
color: #da3b03;
}
クリック状態のリンク
a:active{
color: #da3b03;
}
フォーム関連
テキストフィールド
input[type="text"]{
border: 1px
}
テキストエリア
textarea{
border:1px
}
セレクトボックス
select{
border:1px
}
チェックボックス
input[type="checkbox"]{
color: #da3b03;
}
/* チェック状態 */
input[type="checkbox"]:checked{
color: #da3b03;
}
ラジオボタン
input[type="radio"]{
color: #da3b03;
}
/* チェック状態 */
input[type="radio"]:checked{
color: #da3b03;
}
送信ボタン
input[type="submit"]{
border :1px
}
ページ内リンクのリンク先要素
ページ内リンクと組み合わせて使います。ページ内リンクをクリックして対象の要素にジャンプしたとき、その要素に対してスタイルを適用します。
/*クリック前のcss*/
#aaa{
display: none;
}
/*クリック後のcss*/
#aaa:target{
display: block;
}
○番目系のセレクタは別でまとめていますのでこちらも併せてご覧ください。