欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

css選擇器腦圖,css新元素是選擇器還是別的

老白2年前40瀏覽0評論

css選擇器腦圖,css新元素是選擇器還是別的?

css中的所有元素都是選擇器,不論新元素還是舊元素,都是對標(biāo)簽的選擇。

css選擇器腦圖,css新元素是選擇器還是別的

CSS中有哪些常用選擇器?

一、CSS選擇器有哪些

CSS中的選擇器很多,比如:ID選擇器,類選擇器,通配符選擇器,偽類選擇器等等,接下來主要介紹常用的幾個。

1.標(biāo)簽選擇器

語法:標(biāo)簽名{},eg:h1{}//為所有的h1元素設(shè)置樣式。

2.ID選擇器

語法:#id名{}//id值唯一不能重復(fù),eg:#top{}//為id為top的元素設(shè)置樣式。

3.類選擇器

語法:.class{},eg:.box{}//為所有的class值為box的元素設(shè)置樣式。

4.組選擇器

語法:選擇器1,選擇器2,選擇器N{},eg:#box1,.box2,p{}//為id為box1,class為box2和p的元素共同設(shè)置樣式。

5、通配符選擇器

語法:*{},eg:*{font-size:16px}//將整個頁面字體大小設(shè)為16px。

6.后代選擇器

語法:選擇器1選擇器2{},eg:p.aa{}//選中指定祖先元素p的指定后代.aa。

7.子元素選擇器

語法:父元素>子元素{},eg:p>.box{}//選中父元素p的指定子元素.box。注意與后代元素選擇器的區(qū)別

8.偽類選擇器

偽類可以用來表示一些特殊的狀態(tài),如:

:link-未訪問過的超鏈接。

:visited-已訪問過的超鏈接。

:hover-鼠標(biāo)經(jīng)過的元素。

:active-正在點(diǎn)擊的元素。

eg:a:hover{color:red}//鼠標(biāo)經(jīng)過a標(biāo)簽時,顏色變?yōu)榧t色。

二、CSS選擇器的優(yōu)先級順序

當(dāng)同一屬性的不同值都作用到了同一個元素時,如果定義的屬性之間有沖突,那么應(yīng)該用誰的值的,這個時候就涉及到CSS的優(yōu)先級順序了。

1.在屬性后面使用!important會覆蓋頁面內(nèi)任何位置定義的元素樣式。

2.作為style屬性寫在元素內(nèi)的內(nèi)部樣式

3.id選擇器

4.類選擇器

5.標(biāo)簽選擇器

6.通配符選擇器

7.瀏覽器自定義或繼承的

css的類選擇器用什么屬性引用?

用于來定義一類可以在同一個頁面內(nèi)重復(fù)利用的樣式。 如比較常用的.clearfix(一般是用于清除浮動),或者自己定義的用于新聞列表的樣式,詳細(xì)的寫好鏈接、列表、邊框以及背景等屬性,有些人還會習(xí)慣把一些常用的屬性作為一個類。

postcss和cssmodule是什么?

postcss是什么?

根據(jù)官網(wǎng)的解釋,它是一種javascript編寫的工具,用來轉(zhuǎn)化css的。可以認(rèn)為它是處理css的插件集合,需要配合諸如webpack、gulp等編譯工具才能展現(xiàn)它強(qiáng)大的能力。

目前社區(qū)提供了非常多的插件,比較有名的如下:

autoprefixer 可以為css的屬性配置兼容性的前綴,不需要手動添加postcss-preset-env 允許你使用更加現(xiàn)代的css特性stylelint 檢查css語法錯誤cssnano css的壓縮器等等postcss的原理

如果大家了解babel的原理,那就應(yīng)該聽說過AST即抽象語法樹。編譯器將字符串進(jìn)行詞法分析、語法分析,再做轉(zhuǎn)換,最終達(dá)到預(yù)期的結(jié)果。postcss也是同樣的原理,這個包已經(jīng)為使用者提供了解析的方法parse,并且也提供了很多轉(zhuǎn)化的API,利用這些就可以自己開發(fā)一款postcss插件了。

css Module是什么?

先前呢,我們使用css選擇器,它是對整個頁面是有效的,也就是全局的,當(dāng)你每次迭代需求的時候,需要考慮每次添加新的css是否會影響到其他地方,所以我們有時選擇為樣式表添加命名空間。css Module為我們提供了另外一種開發(fā)方式,它可以使css具有局部作用域。

用法如下:

用法是如此的簡單,基本一看就會,css-loader為我們提供了css Module的開關(guān),只要為css-loader添加參數(shù)選項(xiàng)modules就可以開啟。注意:它必須放在less或者sass的loader之前。

那它如何做到局部作用域的呢?

打開element面板可以發(fā)現(xiàn),它把class變成了md5戳,對應(yīng)每個組件,保持唯一。

vue的scoped

由此我們聯(lián)想到vue的scoped,它也解決了css局部作用域的問題!

它在dom上生成了一個data屬性,并且給class選擇器添加了屬性選擇器,類似于之前的md5戳。不過由于添加了屬性選擇器,使得選擇器的優(yōu)先級變高了,想在組件外面覆蓋css屬性就變得不那么容易了!

喜歡我的回答就關(guān)注我吧,有問題可以發(fā)表評論,我們一起學(xué)習(xí),共同成長!