5分鐘讀懂css偽類選擇器:is :not
本文介紹Css偽類:is和:not,並解釋is、not、matches、any之間的關係
##:not
The :not() CSS pseudo-class represents elements that do not match a list of selectors. Since it prevents specific items from being selected, it is known as the negation pseudo-class.以上是MDN對not的解釋
#推薦學習:##CSS影片教學 單從名字上我們應該能對它有大概的認知,非選擇,排除括號內的其它元素
#最簡單的例子,用CSS將div內,在不改變html的前提下,除了P標籤,其它的字體顏色變成藍色,
<div> <span>我是蓝色</span> <p>我是黑色</p> <h1>我是蓝色</h2> <h2>我是蓝色</h2> <h3>我是蓝色</h3> <h4>我是蓝色</h4> <h5>我是蓝色</h5> </div>
之前的做法
div span,div h2,div h3, div h4,{ color: blue; }
not寫法
div:not(p){ color: blue; }
從上面的例子可以明顯體會到not偽類選擇器的作用
#下面升級一下,問:將div內除了span和p,其它字體顏色變成藍色
div:not(p):not(span){ color: blue; }
還有更簡潔的方法,如下,但是目前相容不太好,不建議使用
div:not(p,span){ color: blue; }
##除IE8,目前所有主流瀏覽器都支援,可以放心使用
:is
The :is() CSS pseudo-class function takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list. This is useful for writing large selectors in a more compact form.
在說is之前,說is前,需要先了解matchesmatches跟is是什麼關係? matches是is的前世,但是本質上確實一個東西,用法完全一樣matches這個單字意思跟它的作用非常匹配,但是它跟not作用恰好相反,作為not的對立面,matches這個次看起來確實格格不入,而且單字不夠簡潔,所以它被改名了,這裡還有一個issue https://github.com/w3c/csswg-drafts/issues/3258,也就是它改名的源頭好了,現在知道matches和is其實是東西,那麼is的用法是怎麼樣的呢? 範例:將header和main下的p標籤,在滑鼠hover時文字變成藍色#以上是MDN的解釋
<header> <ul> <li><p>鼠标放上去变蓝色</p></li> <li><p>鼠标放上去变蓝色</p></li> </ul> <p>正常字体</p> </header> <main> <ul> <li><p>鼠标放上去变蓝色</p></li> <li><p>鼠标放上去变蓝色</p></li> <p>正常字体</p> </ul> </main> <footer> <ul> <li><p>正常字体</p></li> <li><p>正常字体</p></li> </ul> </footer>
header ul p:hover,main ul p:hover{ color: blue; }
:is(header, main) ul p:hover{ color: blue; }
/* Level 0 */ h1 { font-size: 30px; } /* Level 1 */ section h1, article h1, aside h1, nav h1 { font-size: 25px; } /* Level 2 */ section section h1, section article h1, section aside h1, section nav h1, article section h1, article article h1, article aside h1, article nav h1, aside section h1, aside article h1, aside aside h1, aside nav h1, nav section h1, nav article h1, nav aside h1, nav nav h1 { font-size: 20px; }
/* Level 0 */ h1 { font-size: 30px; } /* Level 1 */ :is(section, article, aside, nav) h1 { font-size: 25px; } /* Level 2 */ :is(section, article, aside, nav) :is(section, article, aside, nav) h1 { font-size: 20px; }
是的,is也是any的替代品,它解決了any的一些弊端,例如瀏覽器前綴、選擇效能等any作用跟is完全一樣,唯一不同的是它需要加瀏覽器前綴,用法如下
:-moz-any(.b, .c) { } :-webkit-any(.b, .c) { }
結論
透過上面的介紹大概講述了css偽類is,not,matches,any它們三者的關係
is not組合是大勢所趨
本文來自PHP中文網,
CSS教學專欄,歡迎學習
以上是5分鐘讀懂css偽類選擇器:is :not的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

CSS中的:hover是一種偽類選擇器,用於在使用者懸停在特定元素上時,應用特定的樣式。當滑鼠懸停在元素上時,可以透過:hover為其添加不同的樣式,從而增強使用者體驗和互動效果。本文將詳細討論:hover的含義以及給出具體的程式碼範例。首先,讓我們來了解CSS中:hover的基本用法。在CSS中,可以透過選擇器來選取要套用:hover效果的元素,並在其後面加上

CSS 中的 :: 偽類選擇器用於指定元素的特殊狀態或行為,並且比偽類選擇器 : 更具體,可針對元素的特定屬性或狀態進行選擇。

如何使用:nth-child(-n+5)偽類選擇器選擇位置小於等於5的子元素的CSS樣式在CSS中,偽類選擇器是一種強大的工具,可以透過特定的選擇方式來選取HTML文件中的某些元素。其中,:nth-child()是常用的偽類選擇器,可以選擇特定位置的子元素。 :nth-child(n)可以符合HTML中的第n個子元素,而:nth-child(-n)可以符合

HTML中的hover的作用及具體程式碼範例在Web開發中,hover(懸停)是指當使用者將遊標懸停在一個元素上時,觸發一些動作或效果。它是透過CSS的:hover偽類別來實現的。在本文中,我們將介紹hover的作用以及具體的程式碼範例。首先,hover使元素在使用者懸停時可以改變其樣式。例如,將滑鼠懸停在一個按鈕上時,可以改變按鈕的背景顏色或文字顏色,以提示使用者當

CSS中去除li標籤圓點的方法有兩種:1.使用"list-style-type: none;"樣式;2.使用透明圖片和"list-style-image: url("transparent.png"); "樣式。兩種方法都能刪除所有li標籤的圓點,如果您只想刪除某些li標籤的圓點,可以使用偽類選擇器。

CSS中content屬性的用法CSS中的content屬性是一個非常有用的屬性,它是用來在偽類別中插入額外的內容的。 content屬性一般只能在偽類選擇器(如::before和::after)中使用,它可以用來插入文字或圖片等內容。我們可以透過content屬性來實現一些非常酷炫的效果。以下是content屬性的一些用法以及具體的程式碼範例:插入文字內容通過

使用:nth-last-child(2)偽類選擇器選擇倒數第二個子元素的樣式,需要具體程式碼範例在CSS中,偽類選擇器是一種非常強大的工具,可以用來選擇文件樹中特定的元素。其中之一就是:nth-last-child(2)偽類選擇器,它可以選擇倒數第二個子元素並對其套用樣式。首先,讓我們來建立一個範例HTML文檔,以便我們可以在其中使用這個偽類選擇器。以

CSS中的hover偽類是一個非常常用的選擇器,它允許我們在滑鼠懸停在元素上時改變其樣式。本文將為大家介紹hover的用法,並提供具體的程式碼範例。一、基本用法要使用hover,我們需要先為該元素定義一個樣式,然後再使用:hover偽類來製定滑鼠懸停時對應的樣式。例如,我們有一個button元素,當滑鼠懸停在按鈕上時,我們希望按鈕的背景色變為紅色,文字顏色變為白
