如何防止表格单元格(而不是单个单元格)的列中出现换行?


170

如何防止表格的一列(而不是单个单元格)中的自动换行?


1
请选择答案!...我想现在太迟了
Jaeeun Lee

Answers:


258

您可以使用CSS样式的空白:

white-space: nowrap;

4
我想防止在表的列而不是单个单元格中出现换行。
史蒂文

11
那么将其添加到列中的每个单元格中吗?
David M

如果您不希望将其应用于表中的每个单元格,则将一个类添加到要应用于此的每个td单元格,而仅将其应用于特定的单元格。
詹姆斯·布莱克2009年

我想将其应用于同一列的所有单元格。
史蒂文

7
你可以用第n个孩子选择沿将此规则css-tricks.com/how-nth-child-works
扎克Lysobey

36

为了完整起见:

#table_id td:nth-child(2)  {white-space: nowrap;}

用于将样式应用于the table_id表的第二列。

所有主要的浏览器都支持此功能,IE从IE9开始就支持此功能。



17

只需添加

style="white-space:nowrap;"

例:

<table class="blueTable" style="white-space:nowrap;">
   <tr>
      <td>My name is good</td>
    </tr>
 </table>

这不适用于整个表(即ALL列),而不仅仅是单个列吗?
Joshua Pinter

15

有几种方法可以做到这一点;它们都不是简单明了的方法。

将空白:nowrap应用于<col>不起作用;只有四个CSS属性可处理<col>元素-背景颜色,宽度,边框和可见性。IE7和更早版本曾经支持所有属性,但这是因为它们使用了奇怪的表模型。IE8现在可以匹配其他所有人。

那么,您如何解决呢?

好吧,如果您可以忽略IE(包括IE8),则可以使用:nth-child()伪类<td>从每一行中选择特定的。你会用td:nth-child(2) { white-space:nowrap; }。(此示例适用于此示例,但是如果涉及到任何行跨度或列跨度,则可能会中断。)

如果必须支持IE,则必须走很长一段路,并将类应用于<td>您要影响的每个类。很烂,但这些都是休息时间。

从长远来看,有一些建议可以解决CSS中的这种不足,以便您可以更轻松地将样式应用于列中的所有单元格。您将能够执行类似的操作td:nth-col(2) { white-space:nowrap; },并且它将执行您想要的操作。


13
<td style="white-space: nowrap">

nowrap我认为该属性已被弃用。以上是首选方式。


6
<table class="blueTable">
  <tr>
     <td>My name is good</td>
   </tr>
</table> 
<style>   
    table.blueTable td,
    table.blueTable th {
        white-space: nowrap;
        /* non-question related further styling */
        border: 1px solid #AAAAAA;
        padding: 3px 2px;
        text-align: left;
    }
</style>

这是一个使用nowrap值的空白属性的示例用法,bluetable是表的类,表下方是CSS样式。


5

在文本中插入不间断空格,而不是普通空格。在Ubuntu上,我使用(Compose Key)-space-space来执行此操作。


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.