1、 css選擇器csdn,類選擇器語法?
1. 標簽名選擇器 div { color:Red;} 即頁面中的各個標簽名的css樣式 2.類選擇器 .divClass {color:Red;} 即定義的每個標簽的class 中的css樣式 3.ID選擇器 #myDiv {color:Red;} 即頁面中的標簽的id 4.后代選擇器(類選擇器的后代選擇器) .divClass span { color:Red;} 即多個選擇器以逗號的格式分隔 命名找到準確的標簽 5.群組選擇器 div,span,img {color:Red} 即具有相同樣式的標簽分組顯示
2、 postcss和cssmodule是什么?
postcss是什么?
根據官網的解釋,它是一種javascript編寫的工具,用來轉化css的。可以認為它是處理css的插件集合,需要配合諸如webpack、gulp等編譯工具才能展現它強大的能力。
目前社區提供了非常多的插件,比較有名的如下:
autoprefixer 可以為css的屬性配置兼容性的前綴,不需要手動添加postcss-preset-env 允許你使用更加現代的css特性stylelint 檢查css語法錯誤cssnano css的壓縮器等等postcss的原理如果大家了解babel的原理,那就應該聽說過AST即抽象語法樹。編譯器將字符串進行詞法分析、語法分析,再做轉換,最終達到預期的結果。postcss也是同樣的原理,這個包已經為使用者提供了解析的方法parse,并且也提供了很多轉化的API,利用這些就可以自己開發一款postcss插件了。
css Module是什么?先前呢,我們使用css選擇器,它是對整個頁面是有效的,也就是全局的,當你每次迭代需求的時候,需要考慮每次添加新的css是否會影響到其他地方,所以我們有時選擇為樣式表添加命名空間。css Module為我們提供了另外一種開發方式,它可以使css具有局部作用域。
用法如下:
用法是如此的簡單,基本一看就會,css-loader為我們提供了css Module的開關,只要為css-loader添加參數選項modules就可以開啟。注意:它必須放在less或者sass的loader之前。
那它如何做到局部作用域的呢?
打開element面板可以發現,它把class變成了md5戳,對應每個組件,保持唯一。
vue的scoped由此我們聯想到vue的scoped,它也解決了css局部作用域的問題!
它在dom上生成了一個data屬性,并且給class選擇器添加了屬性選擇器,類似于之前的md5戳。不過由于添加了屬性選擇器,使得選擇器的優先級變高了,想在組件外面覆蓋css屬性就變得不那么容易了!
喜歡我的回答就關注我吧,有問題可以發表評論,我們一起學習,共同成長!
3、 css選擇器識別范圍?
css選擇器優先級核心:每個選擇器本身有優先級,作用范圍越具體優先級越高。
CSS優先級從高到低分別是:
1.在屬性后面使用 !important 會覆蓋頁面內任何位置定義的元素樣式。
2.作為style屬性寫在元素標簽上的內聯樣式
3.id選擇器
4.類選擇器
5.偽類選擇器
6.屬性選擇器
7.標簽選擇器
8.通配符選擇器
9.瀏覽器選擇器
當CSS樣式的規則由多個選擇器組成時,id選擇器的權值為1000,class選擇器為100,標簽選擇器為10,按權值求和的記過高低決定哪個優先。當兩個css規則的權值相同時,誰更具體用誰,也就是權值高的選擇器作用的越具體優先級越高。當兩個選擇器規則和權值都是一樣,后面樣式會覆蓋前面的!
4、 標簽選擇器有哪些?
1. 標簽名選擇器 div { color:Red;} /即頁面中的各個標簽名的css樣式
2.類選擇器 .divClass {color:Red;} /即定義的每個標簽的class 中的css樣式
3.ID選擇器 #myDiv {color:Red;} /即頁面中的標簽的id
4.后代選擇器(類選擇器的后代選擇器) .divClass span { color:Red;} /即多個選擇器以逗號的格式分隔 命名找到準確的標簽
5.群組選擇器 div,span,img {color:Red} /即具有相同樣式的標簽分組顯示