在我的HTML中,我有一个很长的词,我只是在没有足够的空间时试图强制使用特定的断点。我需要的是一种有条件的占位符。我怎么能做到这一点?
答案 0 :(得分:31)
也许Unicode零宽度空间会有所帮助:http://www.fileformat.info/info/unicode/char/200b/index.htm
HTML实体为​
,例如
只有当完整的单词不适合时,over​flow
才会在“over”和“flow”之间打破这个词。
答案 1 :(得分:20)
标记<wbr>
(对于Word BReak)将执行您想要的操作。
答案 2 :(得分:1)
我将发布另一种选择,因为这是我第一次发现此问题时实际上正在寻找的东西。
您应该使用Soft hyphen而不是Zero-width space。
来自Soft hyphen:
软连字符或音节连字符(缩写为 SHY )是在某些编码字符集中保留的代码点,用于 通过插入可见的连字符将单词断行。
另外,要将其与“ {宽度空间”比较,来自Soft hyphen:
它用作不可见标记,用于在文本中指定位置 允许在不强制换行的情况下使用带连字符的换行符 ,如果文字重排。仅可见 在一行的末尾换行之后。软连字符的Unicode 语义和HTML实现在许多方面类似于 Unicode的零宽度空间,软连字符除外 在不保留字符时,将保留两侧字符的字距 可见。另一方面,零宽度空间不会像现在这样 即使未渲染也被视为可见字符,因此 自己的字距调整指标。
您还可以查看维基百科文章,其中包含示例文本,该文本在窗口调整大小时会发生变化。
答案 3 :(得分:0)
与br相反:
<nobr> </nobr>
致谢
答案 4 :(得分:-1)
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;”正如你可以在规范中看到的那样:“由于遗留原因,UAs必须将'自动换行'视为'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;
}