中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)頁制作 > 網(wǎng)頁制作,改變你的思維方式
CSS Sprites 回到列表 首次完整小型站點架構(gòu)的心得體會
 網(wǎng)頁制作,改變你的思維方式

作者:benboba 時間: 2007-09-29 文檔類型:原創(chuàng) 來自:藍(lán)色理想

“重構(gòu)”的春風(fēng)吹遍大江南北,互聯(lián)網(wǎng)一時間風(fēng)聲鶴唳,“div+CSS”儼然已成為一種“時尚”,難以盡數(shù)的網(wǎng)站都不約而同地開始了自己的“重構(gòu)”。然而打開這形形色色網(wǎng)站的源代碼,卻時常令人啞然失笑——

我們看到有嵌套6、7層的div布局,有不用table的表格,有純div+a構(gòu)成的頁面,有成百上千的表現(xiàn)層class……現(xiàn)在關(guān)于標(biāo)準(zhǔn)的書籍越來越多,除了少數(shù)幾本標(biāo)榜“高級技巧”的書籍以外,很少有人不會在自己著作的前幾章強調(diào)這樣一句話——“結(jié)構(gòu)與表現(xiàn)分離”。然而這些書籍的讀者們,又有多少人認(rèn)認(rèn)真真地讀過前幾章呢?還是更多地直接跳過那些乏味的結(jié)構(gòu)講解,一頭扎到貌似高深的布局技巧與Hack中去?

其實div+CSS這個說法從一開始就誤導(dǎo)了太多的人,急功近利的心態(tài)則更是造成這種現(xiàn)象的罪魁禍?zhǔn)。一個習(xí)慣了table布局的網(wǎng)頁制作接觸標(biāo)準(zhǔn)的第一步,不應(yīng)該是去盲目尋求實現(xiàn)各種布局的CSS技巧,而是努力改變自己的思維方式。

下面將結(jié)合我的切身體會談一談順應(yīng)標(biāo)準(zhǔn)的思維方式,其中有不少是我曾經(jīng)走過的彎路,希望對剛剛接觸標(biāo)準(zhǔn)的XDJM們有些幫助:

1、“節(jié)省代碼”是營銷手段,不是宗旨

“使用div布局可以比table布局節(jié)省更多的代碼”,我在很多書籍和網(wǎng)站上見到過這句話。這句話本身是沒錯的,可以“節(jié)省代碼”的確是網(wǎng)頁標(biāo)準(zhǔn)化所帶來的好處之一。然而切記,它只是“好處之一”,而不是“唯一好處”,更不是宗旨!肮(jié)省代碼”更多的時候是我們用來說服那些頑固不化的老板的營銷手段。網(wǎng)頁標(biāo)準(zhǔn)化的唯一宗旨是“結(jié)構(gòu)與表現(xiàn)分離”,而絕不是為了節(jié)省代碼而節(jié)省代碼。我曾經(jīng)因為網(wǎng)站邊欄甚至主體內(nèi)容的表現(xiàn)形式相同而采用了統(tǒng)一的class (至今還有一些書是這樣教的),這樣的確比分別命名id更節(jié)省代碼,然而這樣做的代價是代碼失去了良好的結(jié)構(gòu)。失去良好結(jié)構(gòu)的后果是:一、源代碼沒有了可讀性;二、網(wǎng)站增加了未知的維護成本。試想,當(dāng)某一塊內(nèi)容因為需要而作出表現(xiàn)形式的變動,例如鏈接的顏色等等,我們就不得不去修改頁面源文件,增加額外的class,工作量比起只需要調(diào)整id分組就大了許多。而且長此以往,結(jié)構(gòu)將會越來越差,形成難以逆轉(zhuǎn)的惡性循環(huán)。

還有一種情況,出現(xiàn)在id的命名方面,也是本人曾經(jīng)犯過的錯誤。那時為了“節(jié)省代碼”,而把主菜單命名為“mm”,二級菜單命名為“m2”,三級菜單為“m3”,結(jié)果嚴(yán)重降低了網(wǎng)頁的可讀性,使其他同事很難接手,圖省事卻累了自己。同理,文件及文件夾命名方面也不宜過簡,象《網(wǎng)站重構(gòu)》里建議把圖片都用“i”目錄存放,個人以為并不可取,除非你能為這種高度縮寫的目錄結(jié)構(gòu)撰寫詳細(xì)說明并保證每個相關(guān)人員包括其他制作人員、開發(fā)、甚至懂行的老板……都能理解和執(zhí)行,否則只會給你自己增添不必要的麻煩。

2、ID是狙擊槍,class是雙刃劍

想要做好網(wǎng)頁結(jié)構(gòu),id與class都是必須熟練掌握的,所謂“兩手抓,兩手都要硬”。ID就象狙擊槍一樣,可以幫助我們精準(zhǔn)地定位要想要加載樣式的元素;而class則是俠客的佩劍,信手拈來更加輕盈靈便,兩者的結(jié)合能夠?qū)崿F(xiàn)結(jié)構(gòu)良好且表現(xiàn)豐富的頁面。然而現(xiàn)在有一種錯誤的觀點,就是id完全可以用class來取代,事實上許多網(wǎng)頁源代碼也的確如此,打開來通篇class,找不到一個id。造成這種現(xiàn)象的理由有很多種,然而自table時代傳下來的根深蒂固的“class=CSS”的觀念才是本因。的確,class比id用途更廣更靈活,但也必須意識到,class對于構(gòu)建良好的網(wǎng)頁結(jié)構(gòu)遠(yuǎn)不如id有效。id的強制唯一性使得我們可以很容易通過id檢索到我們需要的任意模塊,而class則沒有這個優(yōu)勢。雖然我們可以為模塊定義唯一的class名,但前提是——只有制作者本人可以動網(wǎng)頁樣式。否則換一個稍微懶一些伙計,看到樣式相同便直接把前面的class拿來套用,其結(jié)果就是我們發(fā)現(xiàn)網(wǎng)頁里有十幾個模塊都叫做“gonggao”或者“xinwen”,以至于為了區(qū)分還不得不加上大量的html注釋,這樣的結(jié)果顯然并不是我們想要的。再者就是前面提到的,通過通用class所節(jié)省下來的代碼,又不得不在每個單獨定義的class中揮霍掉。

ID是狙擊槍,class是雙刃劍,合則兩利,分則兩敗。

3、并不是所有的內(nèi)容都需要div做“容器”

主菜單究竟是用<div id="mainnav"><ul>還是<ul id="mainnav">?這是一個博弈的問題。至今這個問題也沒有人能夠給出明確的答案,就連我也是如此。誠然,<div id="mainnav">在只包含了一個<ul>元素的時候,這個div就顯得有些冗余,但有時候為了配合美工絢麗的設(shè)計,多一層標(biāo)簽就意味著多一層變化(有些人在a標(biāo)簽里套span也是如此)。而div不帶任何原始屬性的先天優(yōu)勢也是其它標(biāo)簽所無法比擬的。這個命題我只是想說明一件事,就是我們應(yīng)該意識到,<div id="mainnav"><ul>之外,還有<ul id="mainnav">這種寫法,同樣具有良好的結(jié)構(gòu)和語義,并且省去了一層嵌套。在我們不需要為華麗的美工勞心勞神的時候,是不是也可以讓結(jié)構(gòu)更加簡約呢?

這個命題其實還可以引申為——“并不是所有內(nèi)容都需要塊元素做容器”、“并不是所有鏈接都需要其它元素做容器”,例如很多頁面都有的“更多”。有些人寫做“<div class="more"><a>”,也有人寫做<p><a>或者<strong><a>。在這些“容器”只包含了一個<a>標(biāo)簽的時候,它們是否還有存在的必要?直接寫成<a class="more">會破壞結(jié)構(gòu)嗎?會缺乏語義嗎?會影響布局嗎?換一種思路,你也許就會有不一樣的收獲。

4、工作上也做到“結(jié)構(gòu)與表現(xiàn)分離”

關(guān)于這一點,網(wǎng)絡(luò)上很多高手都是這樣建議的,也就是先打開編輯器,把結(jié)構(gòu)完整地寫出來,再去CSS里寫表現(xiàn),而盡量不去動已經(jīng)寫好的結(jié)構(gòu)。

然而以看書為主要學(xué)習(xí)方式的人卻很難體會,因為關(guān)于標(biāo)準(zhǔn)的書籍多半是手把手來教的,也就是必然是結(jié)構(gòu)表現(xiàn)結(jié)合,循序漸進(jìn)。雖然有些書籍有這方面的建議,但短短的幾句話遠(yuǎn)不如讀書過程中的潛移默化。在制作人員能夠?qū)Y(jié)構(gòu)良好把握的時候,同時寫結(jié)構(gòu)與表現(xiàn)也不會對結(jié)果有太大的影響。但以我的經(jīng)驗,結(jié)構(gòu)表現(xiàn)分離的工作方式,要比同時寫結(jié)構(gòu)與表現(xiàn)效率高很多,同時也不容易遺漏頁面上的元素。

當(dāng)然,所謂的“結(jié)構(gòu)與表現(xiàn)分離”并不是完全不考慮表現(xiàn),想要兼顧到表現(xiàn),就要保證——在不破壞結(jié)構(gòu)的前提下,CSS選擇器能夠選擇到盡量多的內(nèi)容。在哪些地方加class,或者用哪些標(biāo)簽來區(qū)分,是一個見仁見智的地方,相信每個人都有自己的體會。而結(jié)合不同的設(shè)計稿,有時候也需要做出相應(yīng)的變化,然而這些變化都應(yīng)該有一個同樣的前提——不破壞代碼的結(jié)構(gòu)和可讀性。

再就是,一定要意識到,任何可視化的工具都是魔鬼。它們可視化界面下所呈現(xiàn)的效果,往往與真實瀏覽器相差千里,而我們真正要兼容的是瀏覽器,不是編輯器的可視化界面。

5、CSS不是萬能的,沒有CSS也不是萬萬不能的

相比于CSS1.0時代,今天CSS可以完成更多的事情,然而需求永遠(yuǎn)是領(lǐng)先于技術(shù)的,CSS無法完成網(wǎng)頁所有的表現(xiàn)層工作,有時候我們必須結(jié)合JS或者其他語言來實現(xiàn)一些效果。而另一些時候,用JS的方法比只靠CSS簡單得多,并且代碼結(jié)構(gòu)更加良好——最典型的例子就是下拉菜單。這些時候,我們要說服自己,或者說服老板與客戶,去采用更簡單更合理的方式。因為DOM同樣是網(wǎng)頁標(biāo)準(zhǔn)的重要組成,并不是使用了JS我們的網(wǎng)頁就降低了效率或是不再標(biāo)準(zhǔn),恰恰相反,這是對JS最大的誤解。說到這里不得不提一點,就是今天的時代,比以往更要求每個職業(yè)了解更多的相關(guān)知識,做設(shè)計的人要懂一點交互和制作,做制作的也必須了解設(shè)計和程序,尤其是JS這樣的前端技術(shù),只有這樣,你和同事才能夠更好地合作,個人的發(fā)展前景也會更加光明。

沒有CSS,指的是當(dāng)我們的網(wǎng)站因為各種未知的原因?qū)е翪SS文件載入失敗,不要因此而慌亂,這是考驗我們代碼質(zhì)量的最佳時機。在沒有CSS的時候,如果網(wǎng)頁仍舊保持良好的可讀性,這成果要遠(yuǎn)比通過W3C驗證更值得我們自豪。

經(jīng)典論壇討論
http://bbs.blueidea.com/thread-2795374-1-1.html

本文鏈接:http://www.95time.cn/tech/web/2007/4963.asp 

出處:藍(lán)色理想
責(zé)任編輯:moby

◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。

相關(guān)文章 更多相關(guān)鏈接
Web可用性設(shè)計的247條指導(dǎo)方針
將PSD效果圖制作成XHTML+CSS文件
移動web設(shè)計:標(biāo)準(zhǔn)的選擇
打造自己的Reset.css
flash wmode參數(shù)詳解
作者文章
web標(biāo)準(zhǔn)頁面知識必備
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2