【问题标题】:HTML Force introduce break/new lineHTML Force 引入中断/新行
【发布时间】:2012-02-24 21:54:36
【问题描述】:

我有一个固定宽度的表格单元格...

现在此单元格内的内容/文本字符长度会发生变化,并且不能总是在其之间留有空格,这会导致布局稍微中断。

我尝试通过添加 CSS word-wrap:break-word 来修复 但由于某种原因,这并不总是有效。

即使文本之间没有空格,我如何确保我的文本换到下一行?

【问题讨论】:

  • 我已经试过了……不行……
  • 你能把你的代码放到 jsfiddle.net 上吗?
  • 我无法显示确切的代码...因为有很多 CSS,但只是为了提供一个想法,我添加了一个 jsfiddle...URL:jsfiddle.net/Dnzra
  • 感谢您的代码。但是,您在哪里修复了单元格宽度?

标签: html css word-wrap


【解决方案1】:

我编辑了你的 jsfiddle 以便它可以工作:

编辑 http://jsfiddle.net/Dnzra/2/

您所要做的就是在表格样式中添加:style="table-layout: fixed",并为您的单元格添加一些固定宽度。

【讨论】:

  • 非常感谢您的帮助...但是在更新的小提琴中,我仍然在同一行中看到长文本并且实际上并没有换行到下一行..
  • 再次感谢...所以我需要以 % 指定 td 宽度吗?我得到一个文本重叠(就像你之前的小提琴一样)
  • @testndtv :好吧,您可以删除宽度。当我使用 Chrome 时,我注意到它会自动为您的单元格提供相同的宽度(您可以在这里看到它:jsfiddle.net/Dnzra/3
【解决方案2】:

实际的解决方案是在允许直接换行的任何位置插入标签<wbr>,例如

<td>MaxUName<wbr>MaxUName<wbr>MaxUName<wbr>MaxUNa</td>

为了更好地覆盖旧的&lt;wbr&gt;(它从未成为任何标准,但仍然活跃且活跃),请将以下内容添加到您的样式表中:

wbr:after { content: "\00200B"; }

更多信息:http://www.cs.tut.fi/~jkorpela/html/nobr.html#wbr

【讨论】:

  • 实际上我的文本内容是动态的(来自数据库)...所以我不能按原样编辑它...还有其他方法可以解决这个问题吗?
  • CSS 设置 word-wrap:break-word 对浏览器的支持有限。如果您认为在任何地方都允许换行,则可以在处理从数据库或 JavaScript 中的客户端获取的动态数据时在每个字符后插入 &lt;wbr&gt;
猜你喜欢
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 2017-05-06
  • 1970-01-01
  • 2016-10-15
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多