看了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的偏执狂。