|
在剛學習CSS初期,就接觸了"模塊化CSS"這樣的概念,不過,一直沒有很好的理解。說起來,理由很簡單:因為幾乎所有的代碼都是為了博客的設計,而像博客這么小的架構,CSS文件根本不用多,因為本身代碼量就小,使用不同表現形式的頁面模板并不多,少反而更方便管理。所以,對于模塊化CSS的理解很亂,直接導致自己一直認為下面的分法是非常合理的:
- reset.css //對瀏覽器的默認樣式進行重設
- layout.css //管理頁面的布局
- typeset.css //圖文的編排與
- color.css //統一管理顏色的搭配
- print.css //打印效果樣式
- ie.css //把對ie的hack單獨分開
其實不然,最近工作,接觸了公司的網站,leader要自己寫CSS的寫作規范,以及一些HTML的統一規范;并且寫了新的頻道/頁面/賣場。才發現,原來,上面的分法還是太理想化了。以個人來說,個人認為可以用下面的分割法。先寫下,然后,讓我們對比這兩種分法,找到更好的解決CSS文件管理的合適的CSS模塊化分法:
- reset.css
- header.css //頭部的所有樣式
- container.css //除頭部/底部外的中間區域樣式
- footer.css //底部樣式
- print.css
- ie.css
我們可以看到,不同的有三個CSS文件。第一種分法是種不錯的做法,但管理起來比較麻煩,雖然是"模塊化"了,把表現的內容的樣式分開。但由于每個人都不可能百分百了解每個CSS文件里面的內容,所以,可能導致下面的問題:
一、效率問題與最終目的
在網站內容上面,如果改某一個區域的內容,可能要幾個CSS都改。這樣一來,本來簡單的一個修改,開始變得復雜起來。并且,如果多個都改,可能會使我們忽略了某些東西,又需要進一步調試,這樣不僅肯使最終目的實現延后,還是一個效率的問題。
二、調用盡可能少的CSS文件
大多樓情況下,一個網站都是分成頭部,中部和底部,并且,一般,要做新的頻道/頁面之類的東西,都不會變動頭部和底部,而只是變動中間部分。這樣一來,所有CSS文件都要調用,因為,HTML和CSS的模塊化并不一致。這樣,就會導致服務器承受更多的壓力。這是一個方面。另一個方面是,如果新頁面中某些元素與其他頁面有沖突,我們可能要搞一大堆關于優先性選擇的代碼,增加代碼量。這些都不是我們想要的。這就為什么要把header.css和footer.css分開來的原因。
三、多人合作上的問題
如果我們多個人在工作,大家的分工可能是,有人完成頭部的導航,有人完成底部的搜索條,有人完成中部新頁面的構建。這樣一來,大家都同時在改幾個文件,并且,改的東西不同。如果要更新到服務器,就要先對比,再更新。(當然,現在有版本管理這樣的軟件。但是,同時工作的話,版本也是一個問題,要相信,或許更新永遠都改不上改變。)
結語:
當然,上面的分法,只是一個簡單的模型。不同網站的架構,可能需要更細化的分法。這里需要提醒的一點是,模塊化CSS,我們應該時刻明確,我們是為了方便管理,方便修改,方便多人合作,而不是簡單的分割。如果說有什么建議,我想,CSS的模塊化,應該盡量與HTML的模塊化相一致。這里的一致說的是,無論是在文件的分割上,還是在CSS內容的分割上,與HTML的模塊化一致。這將會更有利于我們的工作。
it知識庫:模塊化 CSS – 更有效地管理CSS,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。