最近网上再度兴起了css布局和table 布局的争论。我最初颇有些不以为然:我原以为css 布局的意义早已深入人心,却没想到还有这么多设计师及开发人员持有异议。
静下心来看罢大家的讨论,一番细想,觉得原因可能有两个方面:
所以,我们在推崇css布局的同时,无需为了证明它的优越性而把table本身贬得一文不值。日常开发中,也无需激进得完全抛弃table。table本身有语义,该显示数据表格的时候就应该使用<table>;在开发过程中,一些需要权衡成本的场合用table+css的布局也未尝不可。在这方面,很欣赏google 和 facebook 前端工程师们的务实做法。大家可以去关注下facebook 上常见的带半透明阴影的弹出对话框,就是使用<table>来制作的,同样非常的精妙。
这一番的争论,结合近年来web标准的发展,让我开始思考web开发中改良和改革的区别。
xhtml 2试图直接进化到xml,宣布与html的决裂。这曾经让我这个传统的html开发者感到恐慌。而当我看到whatwg组织提出html5(最终被w3c认可)的时候,它的温良的改进让我感觉亲切得多,事实也证明,html5正越来越向我们走进。而douglas crockford甚至觉得html5都太猛烈了,提出了html 4.2的改良方案。
再看javascript, ecmascript 4 将javascript 改得天翻地覆,所幸技术委员会在最终阶段回归理智,重新提出的向下兼容的esmascript 3.1 显然得到更多真正战斗在一线的开发人员的认可。
改良,而非血淋淋的改革,也许才是推动技术发展的更实际、更合情合理的方式。web标准的演进是如此,产品或项目的升级是如此,甚至社会制度的建设亦如此。
新闻热点
疑难解答