13

我有一些表格单元格包含格式如下的日期:2009-01-01。IE 7 似乎在连字符处将它们分成两行。有什么办法可以关闭它吗?

4

7 回答 7

20

您正在寻找white-space属性,它可以让您控制空格和换行符如何影响元素的内容。要折叠空白序列,但防止换行,您可以使用以下nowrap值:

.dates {
    white-space: nowrap;
}
<td class="dates">2009-01-01</td>
于 2009-10-14T20:07:53.030 回答
11

我确信有更好的 CSS 方式,但旧方式是不中断:<nobr>...</nobr>但使用不中断不会导致任何内容进入下一行。

另一种方法是使用不间断连字符。这样,您仍然可以换行,只是不在连字符处。

于 2009-10-14T20:09:42.573 回答
9

使用这个 CSS:

.nowrap {
    white-space: nowrap;
}

像这样包装你的日期:<span class="nowrap">2009-01-01</span>

编辑:与其他解决方案相比,此解决方案的优势在于它可以让您更精确地控制应该或不应该换行的内容。您的单元格可能仍会在跨度之外换行空格和其他连字符。

于 2009-10-14T20:11:35.033 回答
2

我已经尝试了所有这些建议。没有工作。在另一个堆栈溢出页面上找到了解决方案:连字符后没有换行符。您可以将代码用于不间断连字符,&#8209;.

于 2012-08-11T02:48:01.660 回答
0

增加你的 TD 的大小,这不会是一个问题

于 2010-04-28T18:12:20.857 回答
0

不是回答您问题的正确方法,但这就是我的做法:

<td>Hello&nbsp;-&nbsp;World</td>

我更喜欢这种方法,因为您不需要添加<style>或类属性。此外,它使文本成为一个字符串,因此浏览器不能换行。

就像我说的,大多数人会不同意,但我认为这是一个实用的解决方案比标准解决方案更好的地方。

于 2010-04-28T18:18:36.343 回答
0

我的愚蠢错误是,我在使用填充设置间距时忘记在它们之间放置空格。我喜欢 <span>Bla 1</span><span>Bla 2</span><span>Bla 4</span>
它并没有像我认为的那样打破界限。所以现在我有了:
<span>Bla 1</span> <span>Bla 2</span> <span>Bla 4</span>
当然,它应该按预期工作。

也许我的错误会帮助某人....

于 2011-08-30T10:04:40.270 回答