近來大家總是在標準上爭論不休,其實,這些問題一些相關文章已經說得很明白了。
以下我就談談我的看法。本文章有太多的“我認為”,說明了我只是想把我的想法拿出來跟大家商榷,或許有太多不對的地方,也請大家一一指出。
1、我對web標準的理解
所謂的web標準,在一些教程文章上已經得到結論:結構化標準(XHTML、XML)、表現標準(CSS、XSLT?)、行為標準(DOM、ECMAScript)。這些東西在網上一搜一大把,在這裡我就不多說了。我只說我自己的想法:
a.標準是相對的,有其一定的局限性
作為標準本身,它也在不斷地完善中。我們也可以加入其中完善它,而不是盲從它。沒有最好,只有更好。(LeXRus前一陣子說要成立自己的web標準組織,不知道現在怎麼樣了。)
b.標準只是被推薦使用,好的標準大家都會自覺去遵守
我們之所以使用標準,就是因為標準對我們有利。正如現在倡導的ISO9000標準一樣,它只是倡導,並不強迫。我認為它對我有用,所以我用它;同樣,如果你認為它實在不怎麼樣,你也可以不用它,標準本身不應該帶有任何強迫性。就跟打籃球一樣,NBA是24秒進攻,我們是30秒進攻,我們要想加入NBA,就得用人家的規則。還有我們加入“世貿”也是,如果我們夠拽,自己成立一個“世貿”,自己發布一套標準,也是可以的。
c.標準沒有明確提到用div還是table
有些朋友很容易把標準簡單地等同於“把table換成div”。我不這麼認為,因為table也是符合xml規則的。含有table的頁面照樣可以通過XHTML1.0的驗證。
d.“div布局”不只是用div進行布局
我們可以用一切可能的標籤(包括table)對頁面進行布局,目的就是要達到最優。它只是提出一個概念,一個全新的模式。罈子裡也有人說過,“重要的是觀念上的更新,而不是代碼。”當然,我們的最終目的是代碼的更新。
e.XHTML驗證是手段,不是目的
有時,我們用javascript來產生flash movie代碼,以欺騙validator,通過驗證。用這種方法,那麼沒有通不過驗證的頁面。如果只是玩玩,那是可以的。但是我怕會有些初學者太把validator當回事,甚至認為通過驗證是最終目的。我的看法是:validator不過是一個工具,它協助我們檢查我們的頁面是否符合標準,僅此而已。最終我們還是得按客戶的要求設計我們的頁面。
2、我為什麼要用標準
有人會以為使用標準的目的就是為了達到標準。其實,《網站重構》一語道破天機:為了網站能“活”得更長久,為了提高網站的可訪性,更為了降低成本,我們必須採用Web標準!這裡有三個“為了”,沒有一個是為了標準。標準只是手段。
接觸“標準”後,我嘗試去做一些符合“標準”的頁面。當時,並不是很明確為什麼要使用標準,只是出於一種好奇心理。中間也遇到了一些難題,有技術上的,也有觀念上的。但是,現在我很樂意用div+css來給客戶做網頁。
用了標準以後,給我的感覺就是:代碼精簡了,維護方便了。
代碼精簡,可縮短頁面裝載時間。就算在當前寬頻條件下,我們也不應該放寬對自己的要求——精簡代碼(我想這也是每一個程式員對自己的要求),況且現在還有不少的撥號使用者,以及手機上網/瀏覽的使用者。這是一個分秒必爭的社會。
嚴格按照標準,可以獲得更高的相容性。一個合格的網頁製作者,他總是試圖讓網頁達到最高的相容性。當然,他要在效果與相容性之間取得某種平衡。就像我們現在挑老公:既要有錢,也要靚仔。
維護方便,我甚至只要修改一下css就可以讓整個頁面呈現出完全不同的風格。這可以節省不少工作。
當然,我認為用標準最重要的一點是:向後相容。用一個專業的術語就是:可持續發展。網路總是在不斷地發展中,一個好的網頁製作者,總得對未來的發展有一定的預見。就現在我知道的,以後一段時間確實是xml的天下,直到有更好的東西出來取代它。
每年都有太多的網站為了跟上時代,花不少錢在改版上。因為改版就意味著一切重來,包括代碼,甚至程式。
標準還要求我們把資料交給XHTML(或者html、xml),把表現交給css,兩者各司其職,結合起來。
3、為table平反
《網站重構》一書出來以後,也許有很大的誤讀成分,一些朋友把標準跟重構混淆了,甚至等同起來。我沒看過這本書,不好做評價。
“在不改變代碼外在行為的前提下,對代碼做出修改,以改進程式的內部結構”,這就是重構。我認為“網站重構”兼有“div布局”跟“web標準”的意思。布局講的是一種方法,標準講的是一種規範,這是兩碼事。
web標準並不是說不用table,我找遍了網上的文章,沒有找到一篇文章說web標準反對使用甚至建議不使用table標籤,我想它是這樣說的:建議不要使用table“布局”,而改用div+cs“布局”。
拿一個資料表來說,我認為用table來組織它是最好的解決方案。當然,你要用其他辦法來實現也是可以的,但是我敢說都沒有table來得簡單、簡潔。(也許有,只是我沒找到?)當然,在學習階段,強制自己不使用表格解決一切問題,還是蠻有用的。
以上說了這麼多,與其說是我的想法,不如說是匯總了大家的想法。但求不貽笑大方,如果能對初學者有所裨益,那就阿彌陀佛了。
出處:藍色理想