css選擇器實(shí)用技巧,css選擇器中后代選擇器與子選擇器的區(qū)別?
css后代選擇器和子選擇器的區(qū)別介紹:
1 css后代選擇器語法:h1 em {color:red;} 表示的是從h1開始里面包含的所有的em元素變成紅色,h1為祖先,其他的em都是后代,即選中后代,不管是兒子還是孫子,只要是都會(huì)被選中,為后代選擇器。2、css子元素選擇器語法:h1>em{color:red;} 表示的是從h1開始里面的第一層em元素變成紅色,h1為祖先,em為兒子,就像世襲制一樣,只能傳給兒子,孫子和其他堂親都不行
css中focus的用法?
在css中,focus的意思是“焦點(diǎn)”,是一種偽類選擇器,作用是選取獲得焦點(diǎn)的元素;通過“:focus”選擇器可以對獲取焦點(diǎn)的元素設(shè)置樣式,語法為“元素:focus{css樣式代碼;}”。
在css中,focus是焦點(diǎn)的意思,通常表示的是“:focus”選擇器,“:focus”選擇器用于選取獲得焦點(diǎn)的元素。接收鍵盤事件或其他用戶輸入的元素都允許 :focus 選擇器。
css怎么讓li從下往上?
把ul包含的li定義為一個(gè)類,在css樣式用類選擇器設(shè)置li的float屬性為向左浮動(dòng), 即為float:left; 最好將無序列表前面的點(diǎn)去掉。即ul的list-style-type:none;這樣設(shè)計(jì)出來的比較美觀。
postcss和cssmodule是什么?
postcss是什么?
根據(jù)官網(wǎng)的解釋,它是一種javascript編寫的工具,用來轉(zhuǎn)化css的。可以認(rèn)為它是處理css的插件集合,需要配合諸如webpack、gulp等編譯工具才能展現(xiàn)它強(qiáng)大的能力。
目前社區(qū)提供了非常多的插件,比較有名的如下:
autoprefixer 可以為css的屬性配置兼容性的前綴,不需要手動(dòng)添加postcss-preset-env 允許你使用更加現(xiàn)代的css特性stylelint 檢查css語法錯(cuò)誤cssnano css的壓縮器等等postcss的原理如果大家了解babel的原理,那就應(yīng)該聽說過AST即抽象語法樹。編譯器將字符串進(jìn)行詞法分析、語法分析,再做轉(zhuǎn)換,最終達(dá)到預(yù)期的結(jié)果。postcss也是同樣的原理,這個(gè)包已經(jīng)為使用者提供了解析的方法parse,并且也提供了很多轉(zhuǎn)化的API,利用這些就可以自己開發(fā)一款postcss插件了。
css Module是什么?先前呢,我們使用css選擇器,它是對整個(gè)頁面是有效的,也就是全局的,當(dāng)你每次迭代需求的時(shí)候,需要考慮每次添加新的css是否會(huì)影響到其他地方,所以我們有時(shí)選擇為樣式表添加命名空間。css Module為我們提供了另外一種開發(fā)方式,它可以使css具有局部作用域。
用法如下:
用法是如此的簡單,基本一看就會(huì),css-loader為我們提供了css Module的開關(guān),只要為css-loader添加參數(shù)選項(xiàng)modules就可以開啟。注意:它必須放在less或者sass的loader之前。
那它如何做到局部作用域的呢?
打開element面板可以發(fā)現(xiàn),它把class變成了md5戳,對應(yīng)每個(gè)組件,保持唯一。
vue的scoped由此我們聯(lián)想到vue的scoped,它也解決了css局部作用域的問題!
它在dom上生成了一個(gè)data屬性,并且給class選擇器添加了屬性選擇器,類似于之前的md5戳。不過由于添加了屬性選擇器,使得選擇器的優(yōu)先級變高了,想在組件外面覆蓋css屬性就變得不那么容易了!
喜歡我的回答就關(guān)注我吧,有問題可以發(fā)表評論,我們一起學(xué)習(xí),共同成長!