CSS3是一種用于設(shè)置網(wǎng)頁(yè)樣式的語(yǔ)言,是CSS的最新版本。與CSS2相比,CSS3提供了更多的樣式屬性,同時(shí)也增加了一些非常有用的新特性。在CSS3中,
not選擇器是一個(gè)非常有用的選擇器,可以為不匹配一個(gè)特定選擇器的元素設(shè)置樣式。
使用:not()
選擇器,可以設(shè)置一個(gè)不匹配某個(gè)選擇器的元素。這個(gè)選擇器可以在其他選擇器的內(nèi)部使用,這也讓我們可以非常方便的創(chuàng)建復(fù)雜的選擇器。
/*選取class為text的所有div,除了class為link的div*/ div.text:not(.link){ background-color:green; }
上面的代碼會(huì)選取所有class為text的div元素,但是除了class為link的div,這些元素的背景顏色會(huì)變成綠色。
在CSS3中,
not選擇器可以與其他選擇器組合使用,例如
/*選取h2元素的只包含文本,且緊隨在另一個(gè)h2元素后面的p元素*/ h2~p:not(:has(h2)):only-child{ color:red; }
上述代碼會(huì)選取緊隨在H2元素后面的,只包括文本的
元素。這些元素必須是某一個(gè)h2元素的唯一后代節(jié)點(diǎn),并且不能包含其他的h2元素。這些元素的文本顏色會(huì)變成紅色。這個(gè)選擇器使用了~
(后置兄弟選擇器)和:not()
(否定偽類)來(lái)選擇指定元素。其中的:has()
偽類是CSS3的新增特性,可以選擇包含指定元素的元素。
總之,
not選擇器是CSS3非常有用的一個(gè)選擇器,可以針對(duì)不匹配一個(gè)特定選擇器的元素進(jìn)行樣式設(shè)置。這個(gè)選擇器與其他選擇器組合使用,可以大大提高我們對(duì)元素進(jìn)行樣式設(shè)置的精度和能力。