【发布时间】:2013-01-14 22:24:35
【问题描述】:
在我的 HTML 中,我有一个很长的单词,并且我试图仅在没有足够空间时强制使用特定的断点。我需要的是一种打破条件的占位符。我怎样才能做到这一点?
【问题讨论】:
在我的 HTML 中,我有一个很长的单词,并且我试图仅在没有足够空间时强制使用特定的断点。我需要的是一种打破条件的占位符。我怎样才能做到这一点?
【问题讨论】:
也许 Unicode 零宽度空间会有所帮助:http://www.fileformat.info/info/unicode/char/200b/index.htm
HTML 实体是 ​ 例如
over​flow 只会在完整的单词不适合时打破“over”和“flow”之间的单词。
【讨论】:
标签<wbr>(用于Word BReak)会做你想做的事。
【讨论】:
&shy;
我将发布另一个替代方案,因为这是我第一次发现这个问题时真正想要的。
您应该使用Soft hyphen 而不是Zero-width space。
来自Soft hyphen:
软连字符或音节连字符,缩写为SHY,是一些编码字符集中保留的一个码位,目的是 通过插入可见的连字符来跨行分隔单词。
另外,将其与“零宽度空间”进行比较,来自Soft hyphen:
它用作一个不可见标记,用于指定文本中的位置 在不强制换行的情况下,允许使用连字符分隔符 不方便的地方,如果文本重新排列。它只变得可见 在行尾换行之后。软连字符的 Unicode 语义和 HTML 实现 在很多方面类似于 Unicode 的零宽度空间,软连字符除外 不时将保留两边字符的字距 可见。另一方面,零宽度空间不会,因为它是 即使不渲染也被视为可见字符,因此具有 自己的字距调整指标。
您还可以查看 wikipedia 文章,其中包含在窗口调整大小时更改的示例文本。
【讨论】:
br 的反义词:
<nobr> </nobr>
问候
【讨论】:
Microsoft CSS 规则“word-wrap:word-break”应该做你想做的事情,并且大多数旧浏览器都支持
https://developer.mozilla.org/en-US/docs/CSS/word-wrap
http://msdn.microsoft.com/en-us/library/ie/ms531186(v=vs.85).aspx
现在还有一个 WC3 版本 - “overflow-wrap:break-word;”正如您在规范中所读到的“出于遗留原因,UA 必须将‘word-wrap’视为‘overflow-wrap’属性的替代名称,就好像它是‘overflow-wrap’的简写一样。” - 所以你可能想测试你的浏览器集是否真的实现了这个。
http://www.w3.org/TR/css3-text/#overflow-wrap
http://caniuse.com/#search=overflow-wrap
你总是可以安全地使用它并使用两者
p.breaklongwords {
word-wrap:word-break;
overflow-wrap:break-word;
}
【讨论】:
word-wrap:word-break,但它对我来说效果不够好。我也会尝试使用overflow-wrap。