SHU BLOG

BLOG NEWS ブログ

  • ARTICLE
    2020.07.23
  • CATEGORY
TITLE

【CSS】not否定擬似クラスの使い方!

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!笑

シュウ
シュウ
今回は【CSS】not否定擬似クラスの使い方!についての解説になります!

こんな方に読んでほしい

  • CSSを学び始めた方へ
  • :notの使い方について学びたい方へ
  • 今回は否定擬似クラスを学習しよう

今回はnon(否定擬似クラス)についての解説になります。
否定とは、条件に当てはまらないことを表します。次の章で詳しく解説いたします。

not 否定擬似クラス

:notとは、条件に当てはまらない要素にスタイルを適用します。
書き方は以下のようになります。

/*--not--*/
要素 :not(指定条件) {プロパティ: 値;}

要素に対して、:(コロン)を付けnotを指定します。
(指定条件)とは、html要素であるid名やclass名を指定し、CSSを記述します。

li(リスト)要素、全体に文字色#febe3e(黄色)を適用させています。
li.menu03に対して、:notを指定し、menu03のもの以外をbold(太字)を適用させています。

:notを指定することでCSSの適用対象から除外することができます。

not 否定擬似クラス

<ul>
	<li class="menu01">リスト01<li>
	<li class="menu02">リスト02<li>
	<li class="menu03">リスト03<li>
	<li class="menu04">リスト04<li>
	<li class="menu05">リスト05<li>
</ul>
ul li {font-size: 18px; color: #febe3e;}
ul li + li {margin: 10px 0 0;}


/*--notに適用--*/
ul li:not(.menu3) {font-weight: bold;}

指定条件とは

(指定条件)とは、html要素であるid名やclass名を指定できます。
指定条件について少し解説してきましたが、他にもどのような形で指定条件が入るか一部紹介いたします。
書き方は以下のようになります。

/*--not 基本的な記述方法--*/
要素 :not(指定条件) {プロパティ: 値;}

/*--not id名を指定--*/
#sample01 :not(#sample) {プロパティ: 値;}

/*--not class名を指定--*/
#sample02 :not(.sample) {プロパティ: 値;}

/*--not 属性セレクタを指定--*/
#sample03 :not([href="sample.com"]) {プロパティ: 値;}

/*--not type属性を指定 例) type属性がmailではないinput要素にCSSが適用します--*/
#sample04 input:not([type="mail"]) {プロパティ: 値;}

/*--not :hoverを指定--*/
#sample05 :not(:hover) {プロパティ: 値;}

/*--not 最初の要素を指定--*/
#sample06 :not(:first-child) {プロパティ: 値;}

/*--not 最後の要素を指定--*/
#sample07 :not(:last-child) {プロパティ: 値;}

/*--not n番目を指定--*/
#sample08 :not(:nth-child) {プロパティ: 値;}

参考になるかも

nth-child、nth-last-child使い方についての記事になります。

:first-child、:last-child使い方についての記事になります。

複数の指定条件を入れるには

指定条件には:notを繋げることで複数の指定も可能になります。
li(リスト)要素、全体の背景色#fd6158(赤色)を適用させています。
最初と最後でない要素の背景色は#1ece50(緑色)が適用されます。

not 複数の指定条件

  • リスト01
  • リスト02
  • リスト03
  • リスト04
  • リスト05
<ul>
	<li>リスト01<li>
	<li>リスト02<li>
	<li>リスト03<li>
	<li>リスト04<li>
	<li>リスト05<li>
</ul>
/*--装飾は一部省略--*/
ul li {
	background-color: #fd6158; /*背景色(赤色)を指定*/
}

/*--not 複数指定--*/
ul li:not(:first-child):not(:last-child) {
  background-color: #1ece50; /*背景色(緑色)を指定*/
}

複数指定のNG例

NG01 ()カッコ内にスペースを入れて続けて指定している。
NG02 ()カッコ内に,(カンマ)を入れて続けて指定している。
この2点には気を付けてください。
複数指定する場合は必ず:not():not()の形式で繋げるようにしましょう。

/*--補足 複数指定のNG例--*/

/*--NG()カッコ内にスペースを入れて続けて指定している--*/
ul :not(:first-child :last-child){
  background-color: #1ece50;
}


/*--NG()カッコ内に,(カンマ)を入れて続けて指定している--*/
ul :not(:first-child,:last-child){
  background-color: #1ece50;
}

指定条件に入れられないもの

(指定条件)には単純セレクタのみ指定が可能になります。
単純セレクタとは、「 」や「>」や「+」などの結合子がないセレクタの事を示します。

/*--CSSが適用されない--*/
:not(li a) {
  color: red;
}

まとめ

今回はこれで以上です。

POINT
  • :notとは、条件に当てはまらない要素にスタイルを適用します。
  • 指定条件には:notを繋げることで複数の指定も可能になります。
  • 複数指定する場合は必ず:not():not()の形式で繋げるようにしましょう。
  • (指定条件)には単純セレクタのみ指定が可能になります。
スポンサーリンク

SHU

1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。

最新記事

関連記事

オススメ記事

月別アーカイブ

page_top