Recently, there has been a debate on css layout and table layout again on the Internet. I was a little dissatisfied at first: I thought the significance of the CSS layout had already been deeply rooted in people's hearts, but I didn't expect that so many designers and developers had objections.
After calming down and after thinking about it, I felt that the reasons may be two aspects:
Therefore, while we advocate CSS layout, we do not need to defame the table itself to be worthless in order to prove its superiority. In daily development, there is no need to be radical enough to completely abandon tables. The table itself has semantics, and it should be used when it is time to display data tables; during the development process, it is also possible to use table+css layout in some occasions that need to be weighed. In this regard, I appreciate the pragmatic approach of Google and Facebook front-end engineers. You can follow the common pop-up dialog box with translucent shadows on Facebook, which is made using <table>, and is also very exquisite.
This debate, combined with the development of web standards in recent years, has led me to think about the difference between improvement and reform in web development.
xhtml 2 attempts to evolve directly to xml, announcing a break with html. This once panicked me, a traditional html developer. And when I saw whatwg organization propose html5 (eventually recognized by w3c), its gentle improvement made me feel much more intimate, and the facts also prove that html5 is moving towards us more and more. Douglas crockford even felt that html5 was too fierce and proposed an improvement plan for html 4.2.
Let’s look at JavaScript again. Ecmascript 4 changed JavaScript so much. Fortunately, the technical committee returned to its sanity in the final stage, and the backward compatible esmascript 3.1 that was re-proposed was obviously recognized by more developers who were really fighting on the front line.
Improvement, rather than bloody reform, may be a more practical and reasonable way to promote technological development. This is the case with the evolution of web standards, the upgrading of products or projects, and even the construction of social systems.