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

Ste*_*ven 154 html css layout

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

Dav*_*d M 237

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

white-space: nowrap;
Run Code Online (Sandbox Code Playgroud)

  • 那么将它添加到列中的每个单元格? (9认同)
  • 您可以将此规则与第n个子选择器一起应用http://css-tricks.com/how-nth-child-works/ (7认同)
  • 我想防止表格列中的换行符,而不是单个单元格. (3认同)

est*_*ani 35

为了完成:

#table_id td:nth-child(2)  {white-space: nowrap;}
Run Code Online (Sandbox Code Playgroud)

用于将样式应用于the table_id表的2列.

这得到了所有主要浏览器的支持,IE从IE9开始支持这一点.


Der*_*huk 18

使用nowrap风格:

<td style="white-space:nowrap;">...</td>
Run Code Online (Sandbox Code Playgroud)

这是CSS!


Xan*_*hir 15

有几种方法可以做到这一点; 没有一个是简单明了的方式.

应用white-space:nowrap到a <col>将不起作用; 只有四个CSS属性可用于<col>元素 - 背景颜色,宽度,边框和可见性.IE7和更早版本用于支持所有属性,但那是因为他们使用了一个奇怪的表模型.IE8现在与其他人匹配.

那么,你是如何解决这个问题的?

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

如果你必须支持IE,那么你必须走很长的路,并将一个类应用于<td>你想要影响的每一个.它很糟糕,但它们是休息时间.

从长远来看,有一些建议可以解决CSS中的这种缺陷,这样您就可以更轻松地将样式应用于列中的所有单元格.你将能够做类似的事情td:nth-col(2) { white-space:nowrap; },它会做你想要的.


Dan*_*een 13

<td style="white-space: nowrap">
Run Code Online (Sandbox Code Playgroud)

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


小智 13

只需添加

style="white-space:nowrap;"
Run Code Online (Sandbox Code Playgroud)

例:

<table class="blueTable" style="white-space:nowrap;">
   <tr>
      <td>My name is good</td>
    </tr>
 </table>
Run Code Online (Sandbox Code Playgroud)


Olg*_*zek 6

要将其应用于整个表格,您可以将其放置在标签内table

<table style="white-space: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>
Run Code Online (Sandbox Code Playgroud)

这是使用值为 nowrap 的 white space 属性的示例,bluetable 是表格的类,表格下方是 CSS 样式。


Rog*_*ays 5

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