如何防止表格单元格中的文字换行


284

有谁知道我如何防止表格单元格中的文本换行?这是用于表头的,其标题比其下的数据长很多,但是我只需要在一行上显示即可。如果列很宽也可以。

我的(简化的)表的HTML如下所示:

<table>
  <thead>
    <tr>
      <th>
        <div>Really long column heading</div>
      </th>
      <th>
        <div>Really long column heading</div>
      </th>
      <th>
        <div>Really long column heading</div>
      </th>
      <th>
        <div>Really long column heading</div>
      </th>
      <th>
        <div>Really long column heading</div>
      </th>
      <th>
        <div>Really long column heading</div>
      </th>
      <th>
        <div>Really long column heading</div>
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <div>data</div>
      </td>
      <td>
        <div>data</div>
      </td>
      <td>
        <div>data</div>
      </td>
      <td>
        <div>data</div>
      </td>
      <td>
        <div>data</div>
      </td>
      <td>
        <div>data</div>
      </td>
      <td>
        <div>data</div>
      </td>
    </tr>
  </tbody>
</table>

标题本身包装在th标记内的div中,原因与页面上的javascript有关。

该表将标题与多行包装在一起。这似乎仅在表足够宽时才会发生,因为浏览器试图避免水平滚动。不过,就我而言,我想水平滚动。

有任何想法吗?

Answers:


484

看一下该white-space属性,如下所示:

th {
    white-space: nowrap;
}

这将强制的内容<th>显示在一行上。

在链接页面中,以下是各种选项white-space

normal
此值指示用户代理折叠空白序列,并在必要时中断行以填充行框。

pre
此值可防止用户代理折叠空白序列。行仅在保留的换行符处断开。

nowrap
该值与'normal'一样折叠空白,但抑制文本内的换行符。

pre-wrap
此值防止用户代理折叠空白序列。行在保留的换行符处断开,并在必要时填充行框。

前行
此值指导用户代理折叠空白序列。行在保留的换行符处断开,并在必要时填充行框。


8
不适用于同一单元格中的输入字段和按钮。随机放置在下面。
Doomsknight 2012年

16
Table元素必须具有table-layout:fixed;此功能才能起作用。
daniloquio 2012年

@Doomsknight您是否找到了在同一单元格中使用输入字段和另一个元素来实现此目标的方法?
loveNoHate 2014年

空白:pre; 是我需要的-28.04在-和28.04之间换行
Brent

1
@Doomsknight我在复选框中遇到了相同的问题,并通过使用input { display: inline; }
Programster



6

我遇到了这个问题,需要防止在连字符处换行。

这是我的方法:

<td><nobr>Table Text</nobr></td>

参考:

如何在所有浏览器上防止连字符出现换行


值得一提的是,nobr标签不规范,如在这个答案链接接受的答案指出:stackoverflow.com/a/8755071/4257
pkaeding

完全正确。您的观点很受好评。我阅读了所有这些评论,记录了相应评论者的经验,并做出了判断。连字符有点棘手。(注意:您在评论中链接的问题与我在答案中链接的问题相同)
cssyphus 2015年

是的,这是同样的问题。我只是想确保在此发布警告,以防将来有人找到此答案,而又不想去阅读链接的参考文献。
2015年

1

用于React / Material UI

如果您想在React中构建材质UI时如何工作,请按以下步骤将其添加到<TableHead>Component中:

<TableHead style={{ whiteSpace: 'nowrap'}}>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.