table-layout:fixed

当你准备全面进军 web 标准时,有时候你是不是被表格的弄得焦头烂额呢?比如,原来使用「非法」的 nobr 现在要用什么来代替呢?

今天,就让我来一个终极解决方案。

或许你已经 Google 到 white-space: nowrap 可以实现 nobr,不错,但关键还有一个,那就是 table-layout

table-layout 有两个值可以设定,预设的是 auto

为了让表格布局固定住,我们需要 table-layout:fixed。假设没有 fixed,把你的分辨率减小到一定程度,你会发现 white-space: nowrap 是不会生效的。

技巧:为了使表格能够适应液态布局(liquid layout,即可伸缩性),不建议你为表格设置绝对宽度,使用相对宽度如百分比是不错的选择。另外,把宽度相对固定的内容(比如时间格式)格设置绝对宽度,非固定的内容格不设置任何宽度,只需给予其设置 white-space: nowrap,虽然在小分辨率的情况下会溢出,但依据某些观点看来,这比折行更美观。

当然我的观点不这样,如果是属于我自己能控制的东西,我是不会要 white-space: nowrap 的,让用户能够清晰地看到内容,我认为比美观更重要。