建站常識
設(shè)計師的框架
2007-10-15 16:40:00
近來,在Web開發(fā)中”框架”是一個相當時髦的詞。比如JavaScript 框架 YUI、 JQuery和Prototype 都引起廣泛的關(guān)注, Web應用框架Rails and Dojo 更是引人矚目,仿佛所有人都使用某種框架來開發(fā)自己的網(wǎng)站。但究竟什么是框架?是不是框架僅僅是對程序員有用,設(shè)計師是否可以從中收益?
什么是框架?
為了便于溝通,我們給“框架”統(tǒng)一一個定義(至少在本篇文章中是統(tǒng)一的):一套包含工具、函數(shù)庫、約定,以及嘗試從常用任務(wù)中抽象出可以復用的通用模塊,目標是使設(shè)計師和開發(fā)人員把重點放在任務(wù)項目所特有的方面,避免重復開發(fā)。通常的講,框架就是上面提到的JavaScript框架和Web應用框架。
需要強調(diào)說明的是,我們不必討論構(gòu)造、打包發(fā)布,相反,一個框架只為你或你的團隊使用即可。
CSS框架
有些時候,你可能嘗到了抽象類似的CSS代碼的甜頭,在那些同時設(shè)計幾個類似網(wǎng)站的設(shè)計師身上表現(xiàn)最為明顯。此外,團隊中的設(shè)計師們從框架的方法上有很多的獲益。比如,我在一家報館工作,所有的20多個網(wǎng)站保持著很多的共同點,基于新聞網(wǎng)站的特點,它們趨向于更加相似,而不是差異。但是,即使單獨一個設(shè)計師,設(shè)計一個從表面上看有差異很大的項目,也可以為CSS框架抽象出一些通用的小碎片。
勞倫斯日報(Lawrence Journal-World),我在那里工作,我們最近建立了一個CSS框架,并發(fā)現(xiàn)它是一個巨大的效率倍增。當然,我們花了數(shù)天時間自己創(chuàng)建了一個CSS框架,但一旦框架完工,開發(fā)高質(zhì)量網(wǎng)頁的速度是極快的。更何況,既然團隊每一個設(shè)計師現(xiàn)在都使用這個框架,當一個設(shè)計師修改另一個團隊成員網(wǎng)頁時,他們不再需要花20分鐘理解別人的構(gòu)建思路,可以馬上上手。
有那些可以忽略?
當投入到一個整體性很強的CSS框架,你想尋找的東西,是每個項目都做了一遍又一遍的重復通用的代碼,目標是鞏固這些代碼核心地位,遵循“不重復自己(Don’t Repeat Yourself)”編碼方法。這使得維護工作容易了許多,還可以幫訪問者節(jié)省帶寬開銷。
幾乎每個我參與的項目中,我必須聲明的幾個CSS問題:
“大量重置”瀏覽器默認風格,比如,設(shè)置所有元素的margin和padding為0,去掉框架(framesets)和圖片(images)的border,等等。
以基線對齊。這包括諸如設(shè)定塊級元素的margins相同的(或多個)基準行高,如段落(paragraph)、頭(header)、以及列表(list)。
創(chuàng)建表單(Form)的基本樣式。
創(chuàng)建幾個常用的CSS 類,例如,.hide(把display置為none,即隱藏元素)、.mute(設(shè)定為一個較小的字體和較亮的顏色)。
還有更有趣的事情,許多網(wǎng)站設(shè)計師發(fā)現(xiàn)自己不斷重復使用著相同的基本結(jié)構(gòu),為什么不動它整理成自己的,在某種程度上可以非常靈活的用于多個網(wǎng)站?Yahoo這樣做了,這就是YUI。當我們?yōu)榈膭趥愃谷請缶W(wǎng)站(the Journal-World)建立CSS框架的時候,我先看看Yahoo是怎么做的。我們很肯定那不是我們想要的,但作為一個很好的例子,給我們提供了很多思考和如何建構(gòu)自己框架的想法。我們解決了16個布局模塊,它具有足夠的靈活性使我們的每一個網(wǎng)站都可以應用,即使每個網(wǎng)站看上去與下一個版本有些差異。另外大多數(shù)網(wǎng)站共用 widgets ,象下拉菜單、導航菜單、按鈕等,這些也是主要的需要抽象提取的對象。除此之外,你可能有共同的內(nèi)容名稱,如圖片列表的縮略圖,你可以規(guī)范對CSS命名,如“thumbnail-list”,讓所有顯示縮略圖的都使用這個CSS類。
另外要做的可能是抽取hack(如兼容那些舊瀏覽器)加入自己的擴展的樣式模塊。我自己嘗試過,但發(fā)現(xiàn)hack過于專有而不能抽取到通用框架里。
#p#
什么是真正的益處?
框架的真正好處是能夠快速啟動工作,你可以創(chuàng)建一個新的(X)HMTL文件,引入你框架,你不用再處理重置padding 和 margins的事情,漂亮的排版,干凈的表單,整齊的布局,有效的widgets,等等。很明顯,很明顯,雖然,你一定要來定制外觀和感覺為每個站點。為實現(xiàn)這一目標,所有你需要做的是復寫,并添加到默認的風格是必要的。
很顯然,盡管你必須為每個網(wǎng)站定制外觀,為了完成這一任務(wù),你所需要做的就是在默認的樣式上加幾行代碼。舉個例子,如果在你的框架里,為所有的 class屬性為“tabs”的UL標簽設(shè)置了基本的水平導航樣式,并且有一個灰色的邊框,你只需要幾行CSS代碼,就可以定制成你的網(wǎng)站所符合的外觀樣式。
ul.tabs li {
border: none;
background-image: url(’/images/tabs/ ?site-specific-tab-look.jpg’);
}
列表左浮動,并且將鏈接以塊的形式置于列表當中,鏈接也左浮動,字體居中,象煩人的廣告一樣的這些工作,框架以幫你完成,在你的網(wǎng)站設(shè)計工作中,只需集中精力處理特別的、有趣的網(wǎng)站細節(jié),而不是寫已經(jīng)寫過百萬次的CSS代碼。
如何構(gòu)建一個CSS框架?
構(gòu)建一個框架有幾種可能的方式,但最常見,可以說是最有用的,抽象通用的CSS放到一個獨立樣式表文件,該樣式表文件只包含整體的一個特有部分。例如,你可以,一個樣式處理排版,另一個處理大量重置。這種好的方法能使你選擇性引入你需要的樣式,在你框架里可能有六七個不同的樣式文件,但不需要其中的一兩個,只要不引入即可。我們團隊創(chuàng)建的框架包含5個樣式文件:
reset.css —處理重置
type.css —處理排版
grid.css —處理布局
widgets.css —處理小零件(widgets),如tab菜單、下拉菜單、以及“更多”按鈕
base.css —包含所有的其他樣式表文件,以便我們只需要在(X)HTML引用base.css即可使用整個CSS框架
然后,我們把框架存放在一個單獨的地方,使每一個站點都引入這個框架。當然,每一個網(wǎng)站也需要有特有樣式表,特有樣式對框架進行了必要的補充。
忠告
這種方法不錯,但也帶來新的問題:增加了每一個頁面的http鏈接數(shù)。對于大流量和中等流量的網(wǎng)站,每個頁面增加5個以上HTTP連接數(shù),系統(tǒng)管理員可能就麻煩大了。兩個可能解決辦法:
把所有樣式都放到一個文件里,而不是分成多個模塊。這里的問題是,失去了框架只包含特定文件的靈活性,而且維護也變得麻煩。
有一個服務(wù)器端程序,動態(tài)把多個單個文件處理成一個響應。我還沒看到這種做法,但如果做好了應該是很有效率的。以我上面框架為例,當請求(Request)base.css時候,而不是請求(Request)type.css , grids.css 等的時候,這一動態(tài)處理過程觸發(fā)。這樣一來,單個文件仍然可用,而在平臺版本上整個框架也有效的。
總之,我們目標不是盡可能的抽象,這點非常重要。相反,其目標是提供了一個快速啟動和更有效率的設(shè)計過程,這是絕對有可能去做過的。如果你過于的抽象,事情會變得混亂,太多的HTTP鏈接數(shù)會影響你網(wǎng)站的性能。記?。阂粋€好的框架不是把事情搞更難更復雜,而是一個簡單的從零的開始。
總結(jié)
我們web設(shè)計師往往經(jīng)常重復自己,就像我程序世界里的那些朋友,我們重置瀏覽器默認樣式、設(shè)計布局和導航菜單寫了一遍又一遍——幾乎每個項目?;ㄒ稽c時間整理CSS 框架,可以使你快速的啟動每一個網(wǎng)站項目,更輕松的維護網(wǎng)站,并幫助團隊里其他的設(shè)計師理解你作品。要注意的一點,這些益處的獲得必須以不影響網(wǎng)站的性能為前提。
近期更新
- [2023-06-25 23:22:29] 優(yōu)秀網(wǎng)站設(shè)計的五大特點
- [2023-04-27 14:05:55] Html 5 響應式網(wǎng)站設(shè)計制作
- [2023-04-10 11:07:30] 網(wǎng)站建設(shè)制作流程知多少
- [2022-10-14 10:11:30] 做網(wǎng)站設(shè)計應該更看重框架搭建還是視覺觀感?
- [2022-08-09 15:57:48] 以“產(chǎn)品”思維搭建網(wǎng)站!
- [2022-08-08 09:12:57] 一家公司的網(wǎng)站應該有哪些板塊內(nèi)容?
- [2022-08-05 09:28:06] 企業(yè)網(wǎng)站建設(shè)為什么要設(shè)置新聞板塊?
- [2022-07-04 15:58:06] 網(wǎng)站首頁設(shè)計的好看,這個網(wǎng)站就成功了一大半!
- [2022-05-20 09:34:19] 網(wǎng)站后臺管理系統(tǒng)是什么?有什么作用?
- [2022-05-17 11:29:32] 作為消費者,應該如何選擇一家水平高的網(wǎng)站建設(shè)公司
- [2022-05-17 11:27:01] 高端網(wǎng)站定制與模板化網(wǎng)站應該怎么選擇?
- [2022-04-22 16:00:41] 現(xiàn)在高端的網(wǎng)站設(shè)計都有哪些新的趨勢?
延伸閱讀
- [2007-05-24 17:06:00] 釋疑交互設(shè)計師的幾個問題
- [2009-06-29 22:46:00] 做有說服力的設(shè)計師
- [2007-12-04 11:13:00] 寫給在職設(shè)計師們
- [2009-11-17 08:58:00] 產(chǎn)品設(shè)計師的提升 第三篇
- [2009-11-28 10:31:00] 在設(shè)計師的角度講系統(tǒng)開發(fā)
- [2006-08-24 18:27:00] 網(wǎng)頁設(shè)計師之路
- [2009-11-10 11:36:00] 產(chǎn)品設(shè)計師的提升 第二篇
- [2005-12-29 21:18:00] 從菜鳥到準網(wǎng)頁設(shè)計師
- [2007-06-22 12:26:00] 非設(shè)計師談設(shè)計之Apple改版
- [2009-07-22 07:56:00] 產(chǎn)品設(shè)計師的核心競爭力
- [2019-05-22 09:16:38] 設(shè)計師常常犯的幾個錯誤
- [2006-08-09 13:37:00] 《設(shè)計師談網(wǎng)頁設(shè)計思維》后記,聊幾件事情
解決方案
輪胎行業(yè)網(wǎng)站設(shè)計解決方案 機械行業(yè)網(wǎng)站設(shè)計解決方案 房地產(chǎn)行業(yè)網(wǎng)站設(shè)計解決方案 科技企業(yè)網(wǎng)站設(shè)計解決方案 電子家電網(wǎng)站設(shè)計解決方案 食品行業(yè)網(wǎng)站設(shè)計解決方案 集團公司網(wǎng)站設(shè)計解決方案 企事業(yè)單位網(wǎng)站設(shè)計解決方案 外貿(mào)行業(yè)網(wǎng)站設(shè)計解決方案 健身運動網(wǎng)站設(shè)計解決方案 美容與化妝品網(wǎng)站設(shè)計解決方案 建筑設(shè)計行業(yè)網(wǎng)站設(shè)計解決方案 物流行業(yè)網(wǎng)站設(shè)計解決方案
TAGS關(guān)鍵字
網(wǎng)站視覺 用戶界面 手機網(wǎng)站 空白和簡潔的設(shè)計 企業(yè)網(wǎng)站設(shè)計 青島海洋投資集團 集團公司網(wǎng)站建設(shè) 企業(yè)建站 SEO 青島高端網(wǎng)站設(shè)計公司哪家好 力圖數(shù)字科技 IT資訊 青島網(wǎng)站制作 輪胎網(wǎng)站設(shè)計 網(wǎng)站SEO 青島網(wǎng)站營銷 青島flash網(wǎng)站 青島網(wǎng)站設(shè)計哪家好 圖形網(wǎng)格 網(wǎng)站設(shè)計資訊 青島高端網(wǎng)站建設(shè)公司哪家好 青島黃島、紅島網(wǎng)站建設(shè)公司 青島網(wǎng)站案例 版面布局 企業(yè)網(wǎng)站 網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè) 外貿(mào)網(wǎng)站設(shè)計 網(wǎng)站動畫 集團性網(wǎng)站 企業(yè)網(wǎng)站建設(shè)