溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

網(wǎng)站設(shè)計中合理架構(gòu)CSS是怎樣的

發(fā)布時間:2021-09-15 11:48:00 來源:億速云 閱讀:104 作者:柒染 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)網(wǎng)站設(shè)計中合理架構(gòu)CSS是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

一、架構(gòu)CSS

在當(dāng)前瀏覽器普遍支持的前提下,css被我們賦予了前所未有的使命。然而依賴css越多,樣式表文件就會變得越大越復(fù)雜。與此同時,文件維護(hù)和組織的考驗也隨之而來。
(曾幾何時)只要一個css文件就夠了——所有規(guī)則(rule)匯聚一堂,增刪改都很方便——可這種日子早已遠(yuǎn)去。(現(xiàn)在)建立新網(wǎng)站時,必須花點時間好好籌劃怎么組織和架構(gòu)css。

二、文件的組織

構(gòu)建css系統(tǒng)的第一步是大綱的擬定。(我認(rèn)為)css組織規(guī)劃的重要性堪比網(wǎng)站目錄結(jié)構(gòu)。(注:用詞夸張一點,讓你加深記憶) 沒有哪種方案放之四海而皆準(zhǔn),因此我們會討論一些基本的組織方案,以及它們各自的利弊。

三、主CSS文件

通常可以使用一個主css文件,來放置所有頁面共享的規(guī)則。這個文件會包含默認(rèn)的字體、鏈接、頁眉和其他等樣式。有了主css文件之后,我們開始探討高級組織策略。

方法一:基于原型

最基本的策略是基于原型頁面(archetype page)分離css文件。假如一個網(wǎng)站的首頁、子頁面和組合頁設(shè)計不同,就可以采用基于原型的策略。(這種策略下)每個頁面都會有專屬的css文件。

在原型數(shù)量不多的情況下,這個方法簡單明了、行之有效。然而,當(dāng)頁面元素并不按部就班的位于各個原型頁時,問題就出現(xiàn)了。如果子頁面和組合頁共享某些元素,而首頁卻沒有,我們應(yīng)該怎么做呢?

把共享元素放入主css文件。這雖不是最純正的解決辦法,卻適用于某些具體情況??墒侨绻W(wǎng)站龐大,(這樣做的話)主css文件會迅速膨脹——這就違背了分離文件的初衷:避免導(dǎo)入不必要的大文件。

在組合頁和子頁面的css文件里各放一份樣式代碼。(這么做)就意味著要維護(hù)冗余代碼,很顯然我們不想這樣。

創(chuàng)建一個新的文件,由這兩種頁面共享。這聽起來不錯。不過假如只有10行代碼,我們創(chuàng)建這個文件僅僅是為了共享這10行代碼?(注:殺雞用牛刀?) 這方法很純粹,但如果網(wǎng)站龐大有很多對頁面共享很少量元素時(注:比如30對頁面分別共享10行代碼),就顯得很笨重了。

創(chuàng)建一個單獨的css文件,包含所有共享元素的樣式。這方法可能比較簡單,卻要取決于網(wǎng)站的大小和共享元素的多少。有種情況會很煩:導(dǎo)入了一個很大的css文件,但頁面只用到一小部分樣式——還是那句話,這違背了分離文件的初衷。

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

方法二:基于頁面元素/塊

如果網(wǎng)站使用服務(wù)器端include,這個方法會很不錯。舉例說明,如果使用頁眉include,它會有自己相應(yīng)的css文件。頁腳或者其他部分的include可以如法炮制,只須導(dǎo)入自己的css文件。這個方法簡單干凈,不過可能會產(chǎn)生很多小css文件。

舉例來說,假如頁腳的樣式只需要20行css代碼,單獨創(chuàng)建一個文件就劃不來了。而且這個方法會導(dǎo)致每個頁面都包含一堆css文件——因為有多少include,就得有多少css文件。

方法三:基于標(biāo)記

這個方案直觀實際,與前一個類似。如果網(wǎng)站共有30個頁面,其中10個含有form,那么可以創(chuàng)建一個css文件專門處理form的樣式,只在這10個頁面導(dǎo)入它。如果另外10個頁面含有table,就創(chuàng)建一個文件專門處理table樣式……諸如此類。

關(guān)于網(wǎng)站設(shè)計中合理架構(gòu)CSS是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI