前不久聽到這樣一個面試的故事:
面試官:你準備在我們公司做些什么事情?(大致這個意思)
面試人:我準備在公司做網(wǎng)站重構(gòu),把原來是table的頁面全部重構(gòu)成css+div的,...
面試官:不好意思,我們的網(wǎng)站都是css+div的,不需要重構(gòu)了。
面試人:...(無語了)
自從2004年阿捷翻譯了《網(wǎng)站重構(gòu)》這本書,網(wǎng)站重構(gòu)這個詞就慢慢的必成了css+div,甚至等同起來,一些朋友把標準跟重構(gòu)也混淆了,css+div跟標準也混淆了。這里有很多誤讀的成份。
無可厚非《網(wǎng)站重構(gòu)》當(dāng)時給我們帶來了一場革命。我看過部分章節(jié),是本好書?赡苁莄ss,div,標準這些詞太過于頻繁,很多誤讀的人把網(wǎng)站重構(gòu)和css+div或者html+css,css+div和標準,標準和重構(gòu)都等同起來,弄得到底什么是什么,誰也說不清楚。這書出版到現(xiàn)在已經(jīng)5年了,網(wǎng)站改版重構(gòu)到底要多久?
我個人認為這本書始終圍繞這一個思想:使用WEB標準重構(gòu)網(wǎng)站。
21世紀初最大的IT冤案
由于2004年絕大多數(shù)網(wǎng)站是使用table布局的,我們知道table布局最大的壞處就是不利于結(jié)構(gòu)和表現(xiàn)分離,后期維護比較麻煩。而使用css和div能很好的解決這個問題。table標簽一直是W3C html的標準標簽之一,為什么到了我們這里就拒絕使用了,table標簽被抹殺是21世紀初最大的IT冤案!毒W(wǎng)站重構(gòu)》這本書自始至終沒說不能使用table標簽,為什么到現(xiàn)在,頁面上出現(xiàn)一個table標簽就說這頁面是垃圾呢?可能跟中國革命的徹底性有關(guān)系。
什么是WEB標準
WEB標準不是某一個標準,而是一系列標準的集合。網(wǎng)頁主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。對應(yīng)的標準也分三方面:結(jié)構(gòu)化標準語言主要包括XHTML和XML,表現(xiàn)標準語言主要包括CSS,行為標準主要包括對象模型(如W3C DOM)、ECMAScript等。這些標準大部分由W3C起草和發(fā)布,也有一些是其他標準組織制訂的標準,比如ECMA(European Computer Manufacturers Association)的ECMAScript標準。
而在阿捷的網(wǎng)頁設(shè)計師網(wǎng)站(相當(dāng)于《網(wǎng)站重構(gòu)》的官方網(wǎng)站)有這么一句話:
怎樣才是符合web標準?簡單說就是不用HTML+table來設(shè)計頁面,改用XHTML+CSS來實現(xiàn)。 可能這句話才是誤讀《網(wǎng)站重構(gòu)》的真正源頭,抹殺table的真正元兇。但是我相信阿捷他老人家的出發(fā)點是鼓勵大家使用XHTML+CSS來布局網(wǎng)頁。
《網(wǎng)站重構(gòu)》給我們帶來一場革命,同時也給我們帶來了災(zāi)難性的div+css泛濫
《網(wǎng)站重構(gòu)》給我們帶來一場革命是譯者預(yù)料之中的事情,同時也給我們帶來了災(zāi)難性的div+css泛濫是譯者始料未及的,F(xiàn)在人們都在談?wù)揹iv+css,談?wù)撛趺唇鉀Q瀏覽器兼容性問題,一個頁面你就使用了div標簽的有之,其實根本不存在div+css,是HTML+CSS。我問一個朋友什么是em標簽,他說em是單位(css中度量單位),大家css都很精通了,html呢,基礎(chǔ)呢,結(jié)構(gòu)呢,語義呢?反正都是源代碼一看,都是div標簽,就是好頁面。那你們把這個頁面裸奔一下,看看是什么,用Twinsen Liang 的話去看看小學(xué)語文書。
網(wǎng)站重構(gòu)到底是什么
網(wǎng)站重構(gòu)不是一種技術(shù),不是css+div,更不是標準,網(wǎng)站重構(gòu)是一種思想,是一種理念。
引用WebReBuild.ORG 的話:當(dāng)前國內(nèi)的同行普遍的認為:所謂的網(wǎng)站重構(gòu)就是“DIV+CSS”,想法固然極度局限。但也不是另一部分的人認為是“XHTML+CSS”,因為“XHTML+CSS”只是頁面重構(gòu)。真正的網(wǎng)站重構(gòu)理應(yīng)包含結(jié)構(gòu)、行為、表現(xiàn)三層次的分離以及優(yōu)化,行內(nèi)分工優(yōu)化,以及以技術(shù)與數(shù)據(jù)、人文為主導(dǎo)的交互優(yōu)化等。
網(wǎng)站重構(gòu)到底要多久
重構(gòu)網(wǎng)站先重構(gòu)人,重構(gòu)你的理念,不要光光追求技術(shù),追求還原設(shè)計稿,追求瀏覽器的兼容性,重要的是基礎(chǔ)和理念。當(dāng)你真正了解什么是網(wǎng)站重構(gòu)的時候網(wǎng)站重構(gòu)也就真正開始了。