看了cragle的《有沒有必要將網站Div+Css重構?》的文章,有一些想法不說不快,我也在文章的評論裡提到曾經開除過兩個執著使用div技術的美工,遭到有些朋友的反對,但也有一位技術總監的朋友發文表示支持,很經典的話就是:「做站是給人看的。不是給機器。符合w3c標準又怎麼樣?」。
說到web設計,我是2000年入行的,應該還是有說幾句話的份,先說說被我開的兩個美工吧。
那是和朋友一起籌建一個新公司,招了一個美工設計公司的形象網站,在談論工資的時候,他便說,如果你們要我用div做頁面的話,工資要高一點。我想高點就高點,如果你真做的好,沒關係。其實那時候我也是才開始認真研究這個東西。
但出乎我的意料的是,在公司的網站的宣傳廣告裡,這位仁兄居然加了這麼一句話(宣傳嘛,廣告語我沒有時間寫那麼多,就讓他充分發揮),內容是: 「國內90%以上的網站將被淘汰,div+css即將成為未來標準」。
也許是想他比較有自信吧,但是沒有深究,萬沒有想到的是,這個簡單的宣傳網站足足花了半個月時間,頁面設計水平很爛——顏色搭配都不好,終於被投資人推翻了,又重新設計了半個月,又被推翻了,雖然我一直強調美工應該先學好網站結構設計,顏色搭配等等,但他都當成耳邊風,終於,我讓他離開了。
後來公司又改版,花了一個星期,做的十分漂亮,table結構。
我這時候還沒意識到div在一些新人眼中產生的誤導會比我想像的嚴重,直到第二個美工上班。
他是才畢業的,非常勤奮的做事,但他絕對中毒不輕。
第一天上班,他便指著我電腦上開的IE,說,你這個東西是很不安全的,非常非常爛的,一定要用firefox,只有firefox才是正途,以後都是firefox的天下。我愕然,那時候,網路上充斥著firefox的廣告——很多站長為了賺美元,很不厚道的貶低IE,狂誇firefox,目的就是為了吸引訪客下載。
這位仁兄也喜歡用div編寫頁面,並且對table表現出極大的不屑,甚至眼裡容不得table這個單詞,他開始每天花費90%的時間用於構建html文件和css樣式表,甚至為了一個px拿尺在螢幕上測量——實在太誇張了,卻只把10%的時間放在頁面整體設計和美工製作。同時,為了節約幾個字節,把一張圖片裁成一個很小字節的圖片,整個圖片資料夾充滿了細碎的圖片。
當然,他到最後也沒拿出令我滿意的作品,因為種種原因,我們的改版是很頻繁的,有時候很大,我不可能為了改一點小東西等他在那裡堆一天的代碼,測試N個瀏覽器。畢竟做公司的,要考慮成本,我每天只擁有他8小時的工作時間,等不得,我只有請他離開。
說實話,我並不是反對div+css,但物生一利,必生一弊,div+css的利處大家說了很多,我就說說狂熱的追求div+css的幾個弊端:
1、大大增加了開發時間,同時也增加了開發成本。當然如果你是熟手,或是可以白天或黑夜都加班而不用擔心沒有加班費,那可能不會。
2.大幅增加協同工作的難度,很多沒學過div的程式設計師對於美工出的div頁面束手無措,稍微改錯了,可能整個站點就慘不忍睹了。當然,如果你是個全才,可以搞定一切,也可能不會。
3.增加了開發風險,一個css文件的出錯,可能導致整站崩潰,慘不忍睹,大量的訪問鏈接同時調用靜態的css文件,可能造成並發錯誤,調用失敗。
幾年前,我在一個朋友車裡坐著玩的時候,當時他唾沫橫飛的問我,你會不會做web2.0,我說web2.0不是技術,web2.0是一種思想,並不是改成div+css就是2.0了。他說錯了錯了,你落伍了,你們那個1.0的網站馬上就要不行的,我馬上要投資做的2.0網站打算如何如何,準備上市的。幾年後,我那個1.0的網站銷售額還在穩定成長,但他的2.0卻再也沒聽他提過。
div不是壞東西,但不能鑽牛角尖。
關於某些維護div的div黨,有幾個誤解我想說一下,也給新入行的朋友一點提醒。
迷思一:W3C標準就是摒棄一切表格
查閱一下W3C的幫助文件,沒有發現W3C放棄了table定義,而且利用table製作的頁面也一樣可以通過W3C效驗,事實上,跟隨網頁從產生到現在,table一直都是標準的W3C定義。
迷思二:div+css可以精簡程式碼
大家都說DIV的佈局精簡程式碼,但是用DIV取代TABLE所節約的程式碼又被CSS(樣式)佔用,而這些樣式大多用於控制DIV的排版佈局。一旦css出錯,後果不堪設想。而且,狂熱的追求把幾十K的頁面再縮小一倍,完全沒必要,大家都知道,一個網頁打開,真正佔頻寬的不是網頁本身,而是圖片,flash等,一個頁面100K,可能需要下載的圖片,flash,影片有幾M之多。現在硬體發展速度遠超軟體發展速度,頻寬也漸漸不是問題。狂熱追求程式碼的精簡是捨本逐末。
迷思三:用div可以更容易被搜尋引擎搜尋到
目前尚無任何證據證明用div可以更容易被搜尋引擎收錄,也許這個只是存在於美好的想像中。
始終堅信,做網站就四個字:「內容為王」。做公司,也是四個字:「開源節流」。其它的,都是虛的。
追求新技術不是錯,但鑽牛角尖就不對了,用div也沒錯,確實有很多好處,但切不可成了div的偏執狂。