- 相關(guān)推薦
構建網(wǎng)站合理規劃CSS文件分享
現在的開(kāi)發(fā)環(huán)境CSS越來(lái)越成為主流,各企業(yè)與IT公司對CSS也越來(lái)越重視,大家的學(xué)習也熱情高漲,CSS被我們賦予了前所未有的使命。然而依賴(lài)css越多,樣式表文件就會(huì )變得越大越復雜。與此同時(shí),文件維護和組織的考驗也隨之而來(lái)。曾幾何時(shí)只要一個(gè)CSS文件就夠了——所有規則(rule)匯聚一堂,增刪改都很方便——可這種日子早已遠去,F在構建網(wǎng)站時(shí),必須花點(diǎn)時(shí)間好好籌劃,如何組織規劃,構建合理高效的CSS系統。
首先從文件的組織開(kāi)始,構建css系統的第一步是大綱的擬定。認為css組織規劃的重要性堪比網(wǎng)站目錄結構。沒(méi)有哪種方案放之四海而皆準,因此我們會(huì )討論一些基本的組織方案,以及它們各自的利弊。你需要根據你開(kāi)發(fā)項目的特點(diǎn)進(jìn)行思考,以確實(shí)最終的方案。
通?梢允褂靡粋(gè)主CSS文件,來(lái)放置所有頁(yè)面共享的規則。這個(gè)文件會(huì )包含默認的字體、鏈接、頁(yè)眉頁(yè)腳和其他相同模塊等樣式。有了主CSS文件之后,我們開(kāi)始探討更高級CSS組織策略。
一、基于原型
最基本的策略是基于原型頁(yè)面(archetypepage)分離CSS文件。假如一個(gè)網(wǎng)站的首頁(yè)、子頁(yè)面和組合頁(yè)設計不同,就可以采用基于原型的策略。這種策略下每個(gè)頁(yè)面都會(huì )有專(zhuān)屬的CSS文件。
在原型數量不多的情況下,這個(gè)方法簡(jiǎn)單明了、行之有效。然而,當頁(yè)面元素并不按部就班的位于各個(gè)原型頁(yè)時(shí),問(wèn)題就出現了。如果子頁(yè)面和組合頁(yè)共享某些元素,而首頁(yè)卻沒(méi)有,我們應該怎么做呢?
把共享元素放入主CSS文件。這雖不是最純正的解決辦法,卻適用于某些具體情況?墒侨绻W(wǎng)站龐大,(這樣做的話(huà))主CSS文件會(huì )迅速膨脹——這就違背了分離文件的初衷:避免導入不必要的大文件。
在組合頁(yè)和子頁(yè)面的CSS文件里各放一份樣式代碼。這么做就意味著(zhù)要維護冗余代碼,很顯然我們不想這樣。
創(chuàng )建一個(gè)新的文件,由這兩種頁(yè)面共享。這聽(tīng)起來(lái)不錯。不過(guò)假如只有10行代碼,我們創(chuàng )建這個(gè)文件僅僅是為了共享這10行代碼?這方法很純粹,但如果網(wǎng)站龐大有很多對頁(yè)面共享很少量元素時(shí)就顯得很笨重了。
創(chuàng )建一個(gè)單獨的CSS文件,包含所有共享元素的樣式。這方法可能比較簡(jiǎn)單,卻要取決于網(wǎng)站的大小和共享元素的多少。有種情況會(huì )很煩:導入了一個(gè)很大的CSS文件,但頁(yè)面只用到一小部分樣式——還是那句話(huà),這違背了分離文件的初衷。
這就是我所說(shuō)的重疊的兩難(overlapdilemma)。零碎css規則的重疊不一而足,并沒(méi)有一個(gè)完全清晰無(wú)誤的方案來(lái)組織它們。
二、基于頁(yè)面元素、模塊
如果網(wǎng)站使用服務(wù)器端include,這個(gè)方法會(huì )很不錯。舉例說(shuō)明,如果使用頁(yè)眉include,它會(huì )有自己相應的CSS文件。頁(yè)腳或者其他部分的include可以如法炮制,只須導入自己的CSS文件。這個(gè)方法簡(jiǎn)單干凈,不過(guò)可能會(huì )產(chǎn)生很多小CSS文件。
舉例來(lái)說(shuō),假如頁(yè)腳的樣式只需要20行css代碼,單獨創(chuàng )建一個(gè)文件就劃不來(lái)了。而且這個(gè)方法會(huì )導致每個(gè)頁(yè)面都包含一堆CSS文件——因為有多少include,就得有多少CSS文件。
三、基于標記
這個(gè)方案直觀(guān)實(shí)際,與前一個(gè)類(lèi)似。如果網(wǎng)站共有30個(gè)頁(yè)面,其中10個(gè)含有form,那么可以創(chuàng )建一個(gè)CSS文件專(zhuān)門(mén)處理form的樣式,只在這10個(gè)頁(yè)面導入它。如果另外10個(gè)頁(yè)面含有table,就創(chuàng )建一個(gè)文件專(zhuān)門(mén)處理table樣式……諸如此類(lèi)。
四、其他CSS組織技巧
除了用主觀(guān)的方法組織文件,我們還要考慮如打印、手持設備和屏幕等多種媒體類(lèi)型。這雖然已經(jīng)很清楚的定義過(guò),可依舊是建立文件結構時(shí)應該考慮的一個(gè)因素。一旦必須支持多種媒體類(lèi)型,主CSS文件里的某些規則可能就得重新考慮。另外,品牌聯(lián)合也可能是一個(gè)重要因素。如果涉及品牌聯(lián)合,你就得考慮哪些元素應該調整以適應另一品牌。比如分別使用不同的CSS文件等。更多的技巧歡迎你關(guān)注的文章。
還有一個(gè)常被忽略的技巧:使用嵌套的@import語(yǔ)句。只包含一連串@import語(yǔ)句,或者再加幾句css規則,就能創(chuàng )建一個(gè)CSS文件。用這個(gè)方法完全可以創(chuàng )建網(wǎng)站的主CSS文件(用@import導入各部分的樣式文件)。假如網(wǎng)站的每個(gè)頁(yè)面都導入了4到5個(gè)不同的CSS文件,無(wú)疑你應該考慮使用這個(gè)技巧。
【構建網(wǎng)站合理規劃CSS文件分享】相關(guān)文章:
關(guān)于網(wǎng)站制作css書(shū)寫(xiě)規范06-23
日本留學(xué)合理規劃07-28
科學(xué)合理化的網(wǎng)站優(yōu)化07-11
網(wǎng)頁(yè)程序設計之分享幾個(gè)css小眾代碼08-09
CSS實(shí)用教程:CSS命名10-05
div+css必看的css重則06-27
日本留學(xué)合理規劃解讀參考09-05
加拿大留學(xué)前合理規劃08-17