css偽類選擇器:is:not實(shí)例分析

本文小編為大家詳細(xì)介紹“css偽類選擇器:is :not實(shí)例分析”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“css偽類選擇器:is :not實(shí)例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

在武隆等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,武隆網(wǎng)站建設(shè)費(fèi)用合理。

:not

The:not()CSSpseudo-classrepresentselementsthatdonotmatchalistofselectors.Sinceitpreventsspecificitemsfrombeingselected,itisknownasthenegationpseudo-class.

以上是MDN對not的解釋

推薦學(xué)習(xí):CSS視頻教程

單從名字上我們應(yīng)該能對它有大概的認(rèn)知,非選擇,排除括號內(nèi)的其它元素

最簡單的例子,用CSS將div內(nèi),在不改變html的前提下,除了P標(biāo)簽,其它的字體顏色變成藍(lán)色,

<div>

<span>我是藍(lán)色</span>

<p>我是黑色</p>

<h2>我是藍(lán)色</h3>

<h3>我是藍(lán)色</h3>

<h4>我是藍(lán)色</h4>

<h5>我是藍(lán)色</h5>

<h6>我是藍(lán)色</h6>

</div>

之前的做法

divspan,divh3,divh4,divh5,{

color:blue;

}

not寫法

div:not(p){

color:blue;

}

從上面的例子可以明顯體會到not偽類選擇器的作用

下面升級一下,問:將div內(nèi)除了span和p,其它字體顏色變藍(lán)色

div:not(p):not(span){

color:blue;

}

還有更為簡潔的方法,如下,但是目前兼容不太好,不建議使用

div:not(p,span){

color:blue;

}

兼容

除IE8,目前所有主流瀏覽器都支持,可以放心使用

:is

The:is()CSSpseudo-classfunctiontakesaselectorlistasitsargument,andselectsanyelementthatcanbeselectedbyoneoftheselectorsinthatlist.Thisisusefulforwritinglargeselectorsinamorecompactform.

以上是MDN的解釋

在說is前,需要先了解一下matches

matches跟is是什么關(guān)系?

matches是is的前世,但是本質(zhì)上確實(shí)一個(gè)東西,用法完全一樣

matches這個(gè)單詞意思跟它的作用非常匹配,但是它跟not作用恰好相反,作為not的對立面,matches這個(gè)次看起來確實(shí)格格不入,而且單詞不夠簡潔,所以它被改名了,這里還有一個(gè)issuehttps://github.com/w3c/csswg-drafts/issues/3258,也就是它改名的源頭

好了,現(xiàn)在知道m(xù)atches和is其實(shí)是一個(gè)東西,那么is的用法是怎樣的呢?

舉例:將header和main下的p標(biāo)簽,在鼠標(biāo)hover時(shí)文字變藍(lán)色

<header>

<ul>

<li><p>鼠標(biāo)放上去變藍(lán)色</p></li>

<li><p>鼠標(biāo)放上去變藍(lán)色</p></li>

</ul>

<p>正常字體</p>

</header>

<main>

<ul>

<li><p>鼠標(biāo)放上去變藍(lán)色</p></li>

<li><p>鼠標(biāo)放上去變藍(lán)色</p></li>

<p>正常字體</p>

</ul>

</main>

<footer>

<ul>

<li><p>正常字體</p></li>

<li><p>正常字體</p></li>

</ul>

</footer>

之前的做法

headerulp:hover,mainulp:hover{

color:blue;

}

is寫法

:is(header,main)ulp:hover{

color:blue;

}

從上面的例子大概能看出is的左右,但是并沒有完全體現(xiàn)出is的強(qiáng)大之處,但是當(dāng)選擇的內(nèi)容變多之后,特別是那種層級較多的,會發(fā)現(xiàn)is的寫法有多簡潔,拿MDN的一個(gè)例子看下

之前的寫法

/*Level0*/

h2{

font-size:30px;

}

/*Level1*/

sectionh2,articleh2,asideh2,navh2{

font-size:25px;

}

/*Level2*/

sectionsectionh2,sectionarticleh2,sectionasideh2,sectionnavh2,

articlesectionh2,articlearticleh2,articleasideh2,articlenavh2,

asidesectionh2,asidearticleh2,asideasideh2,asidenavh2,

navsectionh2,navarticleh2,navasideh2,navnavh2{

font-size:20px;

}

is寫法

/*Level0*/

h2{

font-size:30px;

}

/*Level1*/

:is(section,article,aside,nav)h2{

font-size:25px;

}

/*Level2*/

:is(section,article,aside,nav)

:is(section,article,aside,nav)h2{

font-size:20px;

}

可以看出,隨著嵌套層級的增加,is的優(yōu)勢越來越明顯

說完了is,那就必須認(rèn)識一下any,前面說到is是matches的替代者,

any跟is又是什么關(guān)系呢?

是的,is也是any的替代品,它解決了any的一些弊端,比如瀏覽器前綴、選擇性能等

any作用跟is完全一樣,唯一不同的是它需要加瀏覽器前綴,用法如下

:-moz-any(.b,.c){

}

:-webkit-any(.b,.c){

}

讀到這里,這篇“css偽類選擇器:is :not實(shí)例分析”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:css偽類選擇器:is:not實(shí)例分析
網(wǎng)站鏈接:http://muchs.cn/article8/jpdgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站企業(yè)建站、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計(jì)公司、靜態(tài)網(wǎng)站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)