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} /即具有相同樣式的標簽分組顯示
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屬性就變得不那么容易了!
喜歡我的回答就關注我吧,有問題可以發表評論,我們一起學習,共同成長!
CSS3是CSS的子集,CSS3是最新的標準,提供了很多好用的新屬性,提升了網頁的表現性。
CSS3提供了更好用的選擇器最新的CSS3中,對偽類、偽元素選擇器做了嚴格的規范。有了偽類后,不用在div標簽里面添加額外的元素完成一些DOM操作,可以通過::before,::after完成,代碼簡潔明了。對于鼠標的操作,也可以通過::hover等類似的操作完成。非常高效。還有::first–child等類似的選擇器去操作子元素。
CSS3使動畫效果越來越方便css3里面通過animation來完成動畫,設置@keyframes即可,一些輕量級的動畫不必再通過js完成。
CSS3完成圓角、陰影美化更方便以前的css完成類似的功能只能通過圖片做背景,現在只需要border-radius、boxshadow即可。非常高效簡潔。
CSS3提供了全新的盒模型這個特性十分有用。原來的盒模型width=content.+border+padding。你規定了width.每次都要自己計算,現在有了boder-box不用這么麻煩了。
CSS3的flex布局是最強大的IE已死,不需要再考慮它的兼容性!!!用flex布局,節省很多時間,節省的時間可以學很多東西,而不是浪費時間去適應落后的ie!!!
還有很多好用的css3特性,這個版本提供了巨大的生產力!!!很感謝它,期待下一個grid布局~
以上是我的看法~
css中的*是不需要聲明選擇器的,表示所有的標簽都使用該屬性。