本文小編為大家詳細(xì)介紹“css偽類選擇器:is :not實(shí)例分析”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“css偽類選擇器:is :not實(shí)例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
在武隆等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎ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對(duì)not的解釋
推薦學(xué)習(xí):CSS視頻教程
單從名字上我們應(yīng)該能對(duì)它有大概的認(rèn)知,非選擇,排除括號(hào)內(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;
}
從上面的例子可以明顯體會(huì)到not偽類選擇器的作用
下面升級(jí)一下,問:將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的對(duì)立面,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)容變多之后,特別是那種層級(jí)較多的,會(huì)發(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;
}
可以看出,隨著嵌套層級(jí)的增加,is的優(yōu)勢(shì)越來越明顯
說完了is,那就必須認(rèn)識(shí)一下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)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前標(biāo)題:css偽類選擇器:is:not實(shí)例分析
網(wǎng)站鏈接:http://jinyejixie.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)