【问题标题】:Why are fixed table-layout td words not wrapping?为什么固定表格布局 td 字不换行?
【发布时间】:2012-03-11 22:08:18
【问题描述】:

我有一个表格,其中填充了不同长度的文本。我已将表格布局 css 属性设置为固定,因为它不断将表格推到其父级之外创建水平滚动条。

我希望我的 td 正好是表的一半,这将是它的父级的全尺寸。我希望我的文本包含在 td 中。这是它的样子:

我希望文本环绕 20,这样它就不会与其他文本重叠。我不能使用<br />

这是问题的JSFiddle

【问题讨论】:

  • 在您的情况下发生这种情况的原因是浏览器不知道在哪里断词。你没有任何空格,所以它打破了盒子模型。

标签: html css html-table tablelayout


【解决方案1】:

您可以在p 上使用word-wrap: break-word。它可以在您的 jsFiddle 中运行,并且与 Microsoft 开发的 IE 兼容。

【讨论】:

  • 你知道我们为什么要添加这个css属性吗?在正常情况下,当 p 标签不在这种情况下时,它们的文字会像我期望的那样换行。
  • 您的文本中没有任何空格,因此浏览器认为它是一个长单词。除非做出 CSS 声明,否则浏览器不会换行长字。
  • 哇,谢谢,我什至没有意识到哈哈。
【解决方案2】:

它没有中断的原因是字符串中没有空格。一旦您在一组数字中添加一个空格,它就会中断。因此,解决此问题的一种方法是将word-wrap:break-work 分配给p 选择器。

【讨论】:

    【解决方案3】:

    当您将容器宽度设置为较小时,请尝试增加容器宽度,Check JSFiddle for demo,宽度 250 将精确到 20 的位置。

    #container
    {
        width: 250px;
    }
    p
    {
     word-wrap: break-word
     }
    

    【讨论】:

    • 我需要这个更小的宽度。
    猜你喜欢
    • 2014-07-15
    • 2014-11-10
    • 1970-01-01
    • 2011-10-24
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    相关资源
    最近更新 更多