當前位置:才華齋>設計>網頁設計>

構建網站合理規劃CSS檔案分享

網頁設計 閱讀(1.84W)

現在的開發環境CSS越來越成為主流,各企業與IT公司對CSS也越來越重視,大家的學習也熱情高漲,CSS被我們賦予了前所未有的使命。然而依賴css越多,樣式表文件就會變得越大越複雜。與此同時,檔案維護和組織的考驗也隨之而來。曾幾何時只要一個CSS檔案就夠了——所有規則(rule)匯聚一堂,增刪改都很方便——可這種日子早已遠去。現在構建網站時,必須花點時間好好籌劃,如何組織規劃,構建合理高效的CSS系統。

構建網站合理規劃CSS檔案分享

首先從檔案的組織開始,構建css系統的第一步是大綱的擬定。認為css組織規劃的重要性堪比網站目錄結構。沒有哪種方案放之四海而皆準,因此我們會討論一些基本的組織方案,以及它們各自的利弊。你需要根據你開發專案的特點進行思考,以確實最終的方案。

通常可以使用一個主CSS檔案,來放置所有頁面共享的規則。這個檔案會包含預設的字型、連結、頁首頁尾和其他相同模組等樣式。有了主CSS檔案之後,我們開始探討更高階CSS組織策略。

一、基於原型

最基本的策略是基於原型頁面(archetypepage)分離CSS檔案。假如一個網站的.首頁、子頁面和組合頁設計不同,就可以採用基於原型的策略。這種策略下每個頁面都會有專屬的CSS檔案。

在原型數量不多的情況下,這個方法簡單明瞭、行之有效。然而,當頁面元素並不按部就班的位於各個原型頁時,問題就出現了。如果子頁面和組合頁共享某些元素,而首頁卻沒有,我們應該怎麼做呢?

把共享元素放入主CSS檔案。這雖不是最純正的解決辦法,卻適用於某些具體情況。可是如果網站龐大,(這樣做的話)主CSS檔案會迅速膨脹——這就違背了分離檔案的初衷:避免匯入不必要的大檔案。

在組合頁和子頁面的CSS檔案裡各放一份樣式程式碼。這麼做就意味著要維護冗餘程式碼,很顯然我們不想這樣。

建立一個新的檔案,由這兩種頁面共享。這聽起來不錯。不過假如只有10行程式碼,我們建立這個檔案僅僅是為了共享這10行程式碼?這方法很純粹,但如果網站龐大有很多對頁面共享很少量元素時就顯得很笨重了。

建立一個單獨的CSS檔案,包含所有共享元素的樣式。這方法可能比較簡單,卻要取決於網站的大小和共享元素的多少。有種情況會很煩:匯入了一個很大的CSS檔案,但頁面只用到一小部分樣式——還是那句話,這違背了分離檔案的初衷。

這就是我所說的重疊的兩難(overlapdilemma)。零碎css規則的重疊不一而足,並沒有一個完全清晰無誤的方案來組織它們。

二、基於頁面元素、模組

如果網站使用伺服器端include,這個方法會很不錯。舉例說明,如果使用頁首include,它會有自己相應的CSS檔案。頁尾或者其他部分的include可以如法炮製,只須匯入自己的CSS檔案。這個方法簡單幹淨,不過可能會產生很多小CSS檔案。

舉例來說,假如頁尾的樣式只需要20行css程式碼,單獨建立一個檔案就划不來了。而且這個方法會導致每個頁面都包含一堆CSS檔案——因為有多少include,就得有多少CSS檔案。

三、基於標記

這個方案直觀實際,與前一個類似。如果網站共有30個頁面,其中10個含有form,那麼可以建立一個CSS檔案專門處理form的樣式,只在這10個頁面匯入它。如果另外10個頁面含有table,就建立一個檔案專門處理table樣式……諸如此類。

四、其他CSS組織技巧

除了用主觀的方法組織檔案,我們還要考慮如列印、手持裝置和螢幕等多種媒體型別。這雖然已經很清楚的定義過,可依舊是建立檔案結構時應該考慮的一個因素。一旦必須支援多種媒體型別,主CSS檔案裡的某些規則可能就得重新考慮。另外,品牌聯合也可能是一個重要因素。如果涉及品牌聯合,你就得考慮哪些元素應該調整以適應另一品牌。比如分別使用不同的CSS檔案等。更多的技巧歡迎你關注的文章。

還有一個常被忽略的技巧:使用巢狀的@import語句。只包含一連串@import語句,或者再加幾句css規則,就能建立一個CSS檔案。用這個方法完全可以建立網站的主CSS檔案(用@import匯入各部分的樣式檔案)。假如網站的每個頁面都匯入了4到5個不同的CSS檔案,無疑你應該考慮使用這個技巧。