基于display:table的CSS布局

应原书编辑要求,先在文章顶部给出链接:《Everything You Know About CSS Is Wrong》
http://www.sitepoint.com/books/csswrong1/
这本书是10月发行的新书,为了避免版权纠纷,如要转载本文请保留以上链接,并遵循该CC2.5协议

digital-web的首页上看到一个标题党《Everything You Know About CSS Is Wrong》,被雷过之后仔细看了下原文,发现了一种新的CSS布局思路(其实就是详细介绍了display:table属性)。在IE6仍是王道的时代谈这种技术为时过早,全当是练习英文翻译贴出来给大家分享下,欢迎大家指点不足之处。

—————————以下是中文翻译——————————–

当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table、table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器。它标志着复杂CSS布局技术的结束,同时也给了HTML表格布局致命一击。最终,使用CSS布局来制作出类似于table布局的栅格将会变得十分迅速和简单。
网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性。我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响。

使用CSS表格

CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题。例如,“display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一样。使用基于表格的CSS布局,使我们能够轻松定义一个单元格的边界、背景等样式,而不会产生因为使用了table那样的制表标签所导致的语义化问题。
在深入了解这种方法之前,让我们先来写份HTML文档实例:

..

34 continue reading