Recently, the debate between CSS layout and Table layout has arisen again on the Internet. I was quite dissatisfied at first: I thought that the meaning of CSS layout had been deeply rooted in people's hearts, but I didn't expect that so many designers and developers still disagreed.
After calming down and watching everyone's discussion, after thinking about it carefully, I feel that the reasons may be from two aspects:
Therefore, while we admire CSS layout, we do not need to devalue the table itself to prove its superiority. In daily development, there is no need to radically abandon tables completely. The table itself has semantics, and <table> should be used when displaying data tables; in the development process, it is not a bad idea to use table+css layout in some situations where cost needs to be weighed. In this regard, I admire the pragmatic approach of front-end engineers at Google and Facebook. You can pay attention to the common pop-up dialog box with translucent shadow on Facebook, which is made using <table>, which is also very exquisite.
This debate, combined with the development of Web standards in recent years, made me think about the difference between improvement and reform in Web development.
XHTML 2 attempts to evolve directly into XML, announcing a break with HTML. This used to scare me, a traditional HTML developer. And when I saw the WHATWG organization proposed HTML5 (which was eventually recognized by W3C), its gentle improvements made me feel much more cordial. Facts have also proved that HTML5 is getting closer to us. Douglas Crockford even felt that HTML5 was too violent and proposed an improvement plan for HTML 4.2.
Looking at JavaScript again, ECMAScript 4 has changed JavaScript drastically. Fortunately, the technical committee returned to reason in the final stage, and the newly proposed backward-compatible ESMAScript 3.1 has obviously been recognized by more developers who are actually fighting on the front line.
Improvement, rather than bloody reform, may be a more practical and reasonable way to promote technological development. This is true for the evolution of web standards, the upgrade of products or projects, and even the construction of social systems.
Original text: http://ued.taobao.com/blog/2009/06/24/web_dev_improve/