在剛學(xué)習CSS初期,就接觸了“模塊化CSS”這樣的概念,不過(guò),一直沒(méi)有很好的理解。說(shuō)起來(lái),理由很簡(jiǎn)單:因為幾乎所有的代碼都是為了博客的設計,而像博客這么小的架構,CSS文件根本不用多,因為本身代碼量就小,使用不同表現形式的頁(yè)面模板并不多,少反而更方便管理。所以,對于模塊化CSS的理解很亂,直接導致自己一直認為下面的分法是非常合理的:
其實(shí)不然,最近工作,接觸了公司的網(wǎng)站,leader要自己寫(xiě)CSS的寫(xiě)作規范,以及一些HTML的統一規范;并且寫(xiě)了新的頻道/頁(yè)面/賣(mài)場(chǎng)。才發(fā)現,原來(lái),上面的分法還是太理想化了。以個(gè)人來(lái)說(shuō),個(gè)人認為可以用下面的分割法。先寫(xiě)下,然后,讓我們對比這兩種分法,找到更好的解決CSS文件管理的合適的CSS模塊化分法:
我們可以看到,不同的有三個(gè)CSS文件。第一種分法是種不錯的做法,但管理起來(lái)比較麻煩,雖然是“模塊化” 了,把表現的內容的樣式分開(kāi)。但由于每個(gè)人都不可能百分百了解每個(gè)CSS文件里面的內容,所以,可能導致下面的問(wèn)題:
一、效率問(wèn)題與最終目的
在網(wǎng)站內容上面,如果改某一個(gè)區域的內容,可能要幾個(gè)CSS都改。這樣一來(lái),本來(lái)簡(jiǎn)單的一個(gè)修改,開(kāi)始變得復雜起來(lái)。并且,如果多個(gè)都改,可能會(huì )使我們忽略了某些東西,又需要進(jìn)一步調試,這樣不僅肯使最終目的實(shí)現延后,還是一個(gè)效率的問(wèn)題。
二、調用盡可能少的CSS文件
大多樓情況下,一個(gè)網(wǎng)站都是分成頭部,中部和底部,并且,一般,要做新的頻道/頁(yè)面之類(lèi)的東西,都不會(huì )變動(dòng)頭部和底部,而只是變動(dòng)中間部分。這樣一來(lái),所有CSS文件都要調用,因為,HTML和CSS的模塊化并不一致。這樣,就會(huì )導致服務(wù)器承受更多的壓力。這是一個(gè)方面。另一個(gè)方面是,如果新頁(yè)面中某些元素與其他頁(yè)面有沖突,我們可能要搞一大堆關(guān)于優(yōu)先性選擇的代碼,增加代碼量。這些都不是我們想要的。這就為什么要把header.css和
footer.css分開(kāi)來(lái)的原因。
三、多人合作上的問(wèn)題
如果我們多個(gè)人在工作,大家的分工可能是,有人完成頭部的導航,有人完成底部的搜索條,有人完成中部新頁(yè)面的構建。這樣一來(lái),大家都同時(shí)在改幾個(gè)文件,并且,改的東西不同。如果要更新到服務(wù)器,就要先對比,再更新。(當然,現在有版本管理這樣的軟件。但是,同時(shí)工作的話(huà),版本也是一個(gè)問(wèn)題,要相信,或許更新永遠都改不上改變。)
結語(yǔ):
當然,上面的分法,只是一個(gè)簡(jiǎn)單的模型。不同網(wǎng)站的架構,可能需要更細化的分法。這里需要提醒的一點(diǎn)是,模塊化CSS,我們應該時(shí)刻明確,我們是為了方便管理,方便修改,方便多人合作,而不是簡(jiǎn)單的分割。如果說(shuō)有什么建議,我想,CSS的模塊化,應該盡量與HTML的模塊化相一致。這里的一致說(shuō)的是,無(wú)論是在文件的分割上,還是在CSS內容的分割上,與HTML的模塊化一致。這將會(huì )更有利于我們的工作。
|
嘉興雷鳥(niǎo)是一家集企業(yè)軟件開(kāi)發(fā),WEB網(wǎng)站建設,移動(dòng)APP制作等綜合型的互聯(lián)網(wǎng)公司,為嘉興顧客提供一站式的企業(yè)軟件開(kāi)發(fā),安卓app開(kāi)發(fā),ios開(kāi)發(fā)服務(wù),同時(shí)為嘉興企業(yè)提供全面移動(dòng)互聯(lián)軟件技術(shù)解決方案,是嘉興知名的綜合型APP軟件外包開(kāi)發(fā)公司。根據前期調研方案和客戶(hù)實(shí)際需求,以專(zhuān)業(yè)獨到的設計理念、精益求精的技術(shù)精神、嚴格完善的品控系統,為嘉興每一位客戶(hù)提供專(zhuān)屬的移動(dòng)互聯(lián)軟件技術(shù)解決方案。經(jīng)過(guò)不斷積累,嘉興雷鳥(niǎo)陸續推出視頻直播APP、電商商城APP、P2P網(wǎng)貸APP、智能硬件APP開(kāi)發(fā)、移動(dòng)APP開(kāi)發(fā)、微信公眾平臺開(kāi)發(fā)、一元購APP、智慧社區服務(wù)APP、生活服務(wù)O2O系統APP等各類(lèi)APP產(chǎn)品,為嘉興各行企業(yè)向移動(dòng)互聯(lián)網(wǎng)轉型奠定了堅實(shí)基礎。在激烈的市場(chǎng)競爭中,嘉興雷鳥(niǎo)創(chuàng )造了嘉興軟件定制開(kāi)發(fā)行業(yè)的卓越口碑,是具有更高品質(zhì)的移動(dòng)互聯(lián)網(wǎng)軟件技術(shù)定制服務(wù)商。