網(wǎng)站設(shè)計(jì)之合理架構(gòu)CSS
一、架構(gòu)CSS
在當(dāng)前瀏覽器普遍支持的前提下,css被我們賦予了前所未有的使命。然而依賴css越多,樣式表文件就會(huì)變得越大越復(fù)雜。與此同時(shí),文件維護(hù)和組織的考驗(yàn)也隨之而來(lái)。
(曾幾何時(shí))只要一個(gè)css文件就夠了——所有規(guī)則(rule)匯聚一堂,增刪改都很方便——可這種日子早已遠(yuǎn)去。(現(xiàn)在)建立新網(wǎng)站時(shí),必須花點(diǎn)時(shí)間好好籌劃怎么組織和架構(gòu)css。
二、文件的組織
構(gòu)建css系統(tǒng)的第一步是大綱的擬定。(我認(rèn)為)css組織規(guī)劃的重要性堪比網(wǎng)站目錄結(jié)構(gòu)。(注:用詞夸張一點(diǎn),讓你加深記憶) 沒(méi)有哪種方案放之四海而皆準(zhǔn),因此我們會(huì)討論一些基本的組織方案,以及它們各自的利弊。
三、主CSS文件
通常可以使用一個(gè)主css文件,來(lái)放置所有頁(yè)面共享的規(guī)則。這個(gè)文件會(huì)包含默認(rèn)的字體、鏈接、頁(yè)眉和其他等樣式。有了主css文件之后,我們開(kāi)始探討高級(jí)組織策略。
方法一:基于原型
最基本的策略是基于原型頁(yè)面(archetype page)分離css文件。假如一個(gè)網(wǎng)站的首頁(yè)、子頁(yè)面和組合頁(yè)設(shè)計(jì)不同,就可以采用基于原型的策略。(這種策略下)每個(gè)頁(yè)面都會(huì)有專屬的css文件。
在原型數(shù)量不多的情況下,這個(gè)方法簡(jiǎn)單明了、行之有效。然而,當(dāng)頁(yè)面元素并不按部就班的位于各個(gè)原型頁(yè)時(shí),問(wèn)題就出現(xiàn)了。如果子頁(yè)面和組合頁(yè)共享某些元素,而首頁(yè)卻沒(méi)有,我們應(yīng)該怎么做呢?
把共享元素放入主css文件。這雖不是最純正的解決辦法,卻適用于某些具體情況。可是如果網(wǎng)站龐大,(這樣做的話)主css文件會(huì)迅速膨脹——這就違背了分離文件的初衷:避免導(dǎo)入不必要的大文件。
在組合頁(yè)和子頁(yè)面的css文件里各放一份樣式代碼。(這么做)就意味著要維護(hù)冗余代碼,很顯然我們不想這樣。
創(chuàng)建一個(gè)新的文件,由這兩種頁(yè)面共享。這聽(tīng)起來(lái)不錯(cuò)。不過(guò)假如只有10行代碼,我們創(chuàng)建這個(gè)文件僅僅是為了共享這10行代碼?(注:殺雞用牛刀?) 這方法很純粹,但如果網(wǎng)站龐大有很多對(duì)頁(yè)面共享很少量元素時(shí)(注:比如30對(duì)頁(yè)面分別共享10行代碼),就顯得很笨重了。
創(chuàng)建一個(gè)單獨(dú)的css文件,包含所有共享元素的樣式。這方法可能比較簡(jiǎn)單,卻要取決于網(wǎng)站的大小和共享元素的多少。有種情況會(huì)很煩:導(dǎo)入了一個(gè)很大的css文件,但頁(yè)面只用到一小部分樣式——還是那句話,這違背了分離文件的初衷。
這就是我所說(shuō)的重疊的兩難(overlap dilemma)。零碎css規(guī)則的重疊不一而足,并沒(méi)有一個(gè)完全清晰無(wú)誤的方案來(lái)組織它們。
方法二:基于頁(yè)面元素/塊
如果網(wǎng)站使用服務(wù)器端include,這個(gè)方法很不錯(cuò)。舉例說(shuō)明,如果使用頁(yè)眉include,它會(huì)有自己相應(yīng)的css文件。頁(yè)腳或者其他部分的include可以如法炮制,只須導(dǎo)入自己的css文件。這個(gè)方法簡(jiǎn)單干凈,不過(guò)可能會(huì)產(chǎn)生很多小css文件。
舉例來(lái)說(shuō),假如頁(yè)腳的樣式只需要20行css代碼,單獨(dú)創(chuàng)建一個(gè)文件就劃不來(lái)了。而且這個(gè)方法導(dǎo)致每個(gè)頁(yè)面都包含一堆css文件——因?yàn)橛卸嗌賗nclude,就得有多少css文件。
方法三:基于標(biāo)記
這個(gè)方案直觀實(shí)際,與前一個(gè)類似。如果網(wǎng)站共有30個(gè)頁(yè)面,其中10個(gè)含有form,那么可以創(chuàng)建一個(gè)css文件專門處理form的樣式,只在這10個(gè)頁(yè)面導(dǎo)入它。如果另外10個(gè)頁(yè)面含有table,就創(chuàng)建一個(gè)文件專門處理table樣式……諸如此類。
原文鏈接:http://www.cnblogs.com/shouce/p/5551787.html
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
網(wǎng)站設(shè)計(jì)效果體驗(yàn) 之七種不同的色系
網(wǎng)站設(shè)計(jì)色彩的搭配牽動(dòng)著用戶的體驗(yàn),不同行業(yè)對(duì)網(wǎng)站色調(diào)的選擇都是有一定的要求,甚至帶給用戶的效果體驗(yàn)是不一樣的。2015-07-06電子商務(wù)網(wǎng)站設(shè)計(jì)分析六:商品詳情頁(yè)設(shè)計(jì)
商品詳情頁(yè)是電子商務(wù)網(wǎng)站中最容易與用戶產(chǎn)生交集共鳴的頁(yè)面,詳情頁(yè)的設(shè)計(jì)極有可能會(huì)對(duì)用戶的購(gòu)買行為產(chǎn)生直接的影響。因此,商品詳情頁(yè)面的設(shè)計(jì)會(huì)涉及到運(yùn)營(yíng)層面,在美觀2015-01-28使用這5個(gè)網(wǎng)站設(shè)計(jì)的技巧,可以讓你的銷售額增加300%
本文將為大家介紹幾個(gè)低成本搭建營(yíng)銷型網(wǎng)站設(shè)計(jì)技巧,有了它們,可以讓你的銷售額增加300%?。?!2014-08-20如何做一個(gè)適合自己品牌的酒店網(wǎng)站?19個(gè)美麗的度假酒店網(wǎng)站設(shè)計(jì)欣賞
企業(yè)網(wǎng)站可以為企業(yè)作為品牌宣傳、擴(kuò)展業(yè)務(wù)等作用,所以網(wǎng)站建設(shè)是企業(yè)不可缺少的角色。那么如何為做一個(gè)適合自己品牌的酒店網(wǎng)站呢?接下來(lái)看看今天整理的世界上那些豪華酒2014-07-04網(wǎng)站設(shè)計(jì)分析:模塊化--高效重構(gòu)
今天來(lái)分析一下網(wǎng)站模塊化,網(wǎng)站高效重構(gòu)2012-06-22如何為網(wǎng)站設(shè)計(jì)出色的橫幅 為網(wǎng)站設(shè)計(jì)出色橫幅的方法
網(wǎng)站的橫幅設(shè)計(jì)對(duì)于瀏覽者的第一體驗(yàn)相當(dāng)重要2012-06-17關(guān)于網(wǎng)站設(shè)計(jì)中網(wǎng)頁(yè)情景化設(shè)計(jì)的方法介紹(圖)
本文是講如何設(shè)計(jì)出情景化的網(wǎng)頁(yè)以吸引留住參觀者2012-05-30網(wǎng)站設(shè)計(jì)之第一印象 注意用戶體驗(yàn)
遨游互聯(lián)網(wǎng)的人們?yōu)g覽一個(gè)個(gè)網(wǎng)站,是決定暫時(shí)駐留還是轉(zhuǎn)身離開(kāi),往往憑借的是第一印象,這和男女相親極為相似。如果男女雙方的第一印象就不好,那么搭檔去喝咖啡的可能性就2012-01-07- 好的CSS架構(gòu)目標(biāo)并不同于開(kāi)發(fā)一個(gè)好的應(yīng)用程序,它必須是可預(yù)測(cè)、可重用、可維護(hù)和可伸縮的。2014-12-30
我的css架構(gòu)理念—因人而異 沒(méi)有最優(yōu) 只有適合
做前端已有不短的時(shí)間了,在css這片領(lǐng)域越走越久、越走越遠(yuǎn),回過(guò)頭來(lái)看看,有很多技能知識(shí)掌握了就不會(huì)再忘了,css架構(gòu),因人而異、因項(xiàng)目大小而異,沒(méi)有最優(yōu),只有適合2013-01-11

