对我来说,table
有一个非常有用,支持性也很好的 CSS
属性,但它却很少为人所知。它改变了表格的渲染方式,并生成一个更加稳定可靠的布局。
它就是:
table {
table-layout: fixed;
}
table-layout
的缺省值是 auto
,这个属性值及其效果大家十分熟悉。对我来说其效果十分的怪异,具体见如下演示:
fixed
属性值应用 table-layout:fixed
之后,查看演示效果,可以得出如下结论:
overflow
属性生效text-overlfow
属性生效我们以一个用户信息表格为例子进行演示。该表格的列宽是固定的,不根据内容的多少而变化;表格内容不折行显示,超出行宽部分加省略号部分显示。
上述表格的显示效果已经很好了,也比较接近实际项目的需要。
固定列宽的表格算法效果更容易预见,便于使用,同时渲染速度明显更快。因为表格的内容并不会影响单元格的宽度,所以在页面加载过程中,表格不需要频繁重绘。相信我们都对页面加载过程中表格不断重新调整列宽的恐怖情景记忆犹新。对于固定列宽的表格来说,这种情况就不会发生了。
本文主要汇编自 Chris Coyier 的一篇博客。但是因为本人水平有限,文中难免存在描述不清,代码不完善等问题,还请大家多多予以批评指正!
参考文献
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.