CSS WorkFlow

介紹一個(gè)好玩的工具。lolcat :一個(gè)在 Linux 終端中輸出彩虹特效的命令行工具

正式開始

  • CSS預(yù)處理器(處理瀏覽器)
    • sass、less、stylus
    • 預(yù)處理器常用規(guī)范
      • 變量
      • 混合(Mixin)Extend
      • 嵌套規(guī)則
      • 運(yùn)算
      • 函數(shù)
      • Namespaces & Accessors
      • Scope
      • 注釋
  • CSS后處理器(該刪的刪,該加的加,增加前綴,包括可以兼容IE6)
    • CSS壓縮 CLEAN-CSS
    • 自動(dòng)添加瀏覽器前綴 Autoprefixer
    • CSS更加美觀排序 CSScomb
    • Rework(編譯壓縮等)取代Stylus(只能負(fù)責(zé)編譯) 后處理器發(fā)熱
    • 前后通吃PostCSS

css處理被分成了兩步,一步是sass、less,一步是到上線前的后處理器(通過AST‘抽象語法樹’去分析)

postcss
js修改css
cssnext
image-set

POSTCSS值得收藏的插件

  • POSTCSS-CUSTOM-PROPERTIES運(yùn)行時(shí)變量
  • POSTCSS-SIMPLE-VARS 與SASS一致的變量實(shí)現(xiàn)
  • POSTCSS-MIXINS 實(shí)現(xiàn)類似SASS的@MIXIN的功能
  • POSTCSS-EXTEND 實(shí)現(xiàn)類似SASS的繼承功能
  • POSTCSS-IMPORT 實(shí)現(xiàn)類似SASS的IMPORT
  • CSSNEXT 面向未來 CSS Grace 修復(fù)過去
也可以集成到gulp編譯

編譯node不需要webpack,我們用gulp+rollup(tree shaking)。

面向?qū)ο蟮腃SS

  • OO CSS的概念解讀
  • OO CSS的作用和注意事項(xiàng)
  • OO CSS代碼實(shí)戰(zhàn)

眾多開發(fā)者忽視了CSS的表現(xiàn)(認(rèn)為他太過簡(jiǎn)單,是一種機(jī)械的工作),而且更多關(guān)注在JavaScript的性能上或者其他方面。

OO CSS將頁(yè)面可重用元素抽象成一個(gè)類,用Class加以描述,而與其對(duì)應(yīng)的HTML即可看成是此類的一個(gè)實(shí)例。

CSS分層與面向?qū)ο?/h4>

為什么要分層?

  • SMACSS
  • BEM
  • SUIT
  • ACSS
  • ITCSS

原因:

  • CSS有語義化的命名約定和CSS層的分離,將有助于它的可擴(kuò)展性,性能的提高和代碼的組織管理。
  • 大量的樣式、覆蓋、權(quán)重和很多!important,分好層可以讓團(tuán)隊(duì)命名統(tǒng)一規(guī)范,方便維護(hù)。
  • 有責(zé)任感地去命名你的選擇器。

BEM
  • BEM和SMACSS非常類似,主要用來如何給項(xiàng)目命名。一個(gè)簡(jiǎn)單命名更容易讓別人一起工作。比如選項(xiàng)卡導(dǎo)航是一個(gè)塊(Block),這個(gè)塊里的元素是其中標(biāo)簽之一(Element),而當(dāng)前選項(xiàng)卡是一個(gè)修飾狀態(tài)(Modifier)
  • block 代表了更高級(jí)別的抽象或組件
  • block__element 代表block后代,用于形成一個(gè)完整的block的整體
  • block_modifier 代表block的不用狀態(tài)或不同版本
  • 修飾符使用的是‘’,子模塊使用‘_’,單詞連接用‘-’
    BEM示例

    防止被侵入,做一個(gè)namespace
ACSS
  • 考慮如何設(shè)計(jì)一個(gè)系統(tǒng)的接口。原子(Atoms)是創(chuàng)建一個(gè)區(qū)塊的最基本的特質(zhì),比如說表單按鈕。分子(Molecules)是很多個(gè)原子(Atoms)的組合,比如說一個(gè)表單中包括了一個(gè)標(biāo)簽,輸入框和按鈕。生物(Organisms)是眾多分子(Molecules)的組合物,比如一個(gè)網(wǎng)站的頂部區(qū)域,他包括了網(wǎng)站的標(biāo)題、導(dǎo)航等。而模板(Templates)又是眾多生物(Organisms)的結(jié)合體。比如一個(gè)網(wǎng)站頁(yè)面的布局。而最后的頁(yè)面就是特殊的模板。


    ACSS

cssnext + postcss + bem + oocss + acss + csshint/eslint + webpack + node + cdn + md5(etag)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,131評(píng)論 1 92
  • 再談CSS 預(yù)處理器2016-09-09 Justineo JavaScript轉(zhuǎn)自:http://efe.bai...
    抓住時(shí)間的尾巴吧閱讀 1,763評(píng)論 0 2
  • 去年的今天結(jié)束我的高中生活 到一個(gè)夏天的選擇 然后便是長(zhǎng)達(dá)幾個(gè)月的適應(yīng) 寒假又很期待又很隨便的寒暄聚會(huì) 到這個(gè)春天...
    木子_f76b閱讀 270評(píng)論 0 0
  • 別讓過往只是過往, 歷練使你足夠堅(jiān)強(qiáng), 求一次地久天長(zhǎng), 再也不在水一方, 讓你的過往努力變成 未來你想成為的模樣...
    超級(jí)小超閱讀 225評(píng)論 0 0
  • 生活的逼迫,社會(huì)的壓榨。有人說,你看你一點(diǎn)形象都沒有,所以你為了不讓別人這樣說你必須減肥,又有人說,你看你沒有一點(diǎn)...
    小牛加油閱讀 324評(píng)論 0 0

友情鏈接更多精彩內(nèi)容