HTML与不间断空格对立

问题描述 投票:33回答:4

在我的HTML中,我有一个很长的单词,我试图仅当没有足够的空间时才强制使用特定的断点。我需要的是一种有条件的占位符。我如何实现这种目标?

html css
4个回答
32
投票

也许Unicode零宽度空格会有所帮助:http://www.fileformat.info/info/unicode/char/200b/index.htm

HTML实体为​,例如over​flow仅在整个单词不适合时才会在“ over”和“ flow”之间打断该单词。


21
投票

标签<wbr>(用于Word BReak)将执行您想要的操作。


0
投票

我将发布另一种替代方法,因为这是我第一次发现此问题时实际上正在寻找的内容。

您应该使用"Soft hyphen"而不是"Zero-width space"

来自"Soft hyphen"

软连字符音节连字符(缩写为[[SHY)是为某些目的而保留在某些编码字符集中的代码点通过插入可见的连字符将单词断行。

还可以与"Soft hyphen"中的“零宽度空间”进行比较:

它用作

不可见标记,用于指定文本中的位置,允许在不强制换行的情况下使用带连字符的换行符不便之处

如果文字重排。它仅可见在一行的末尾自动换行之后。软连字符的Unicode语义和HTML实现在许多方面类似于Unicode的零宽度空间,软连字符除外保留字符两侧的字距调整可见。另一方面,零宽度空间不会像现在这样即使未渲染也被视为可见字符,因此自己的字距调整指标。您还可以查看Wikipedia文章,其示例文本在窗口调整大小时会发生变化。

-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;”就像您在规范中所读到的:“出于遗留原因,UA必须将“自动换行”作为“自动换行”属性的替代名称,就好像它是“自动换行”的简写一样。” -所以您可能想测试一下您的浏览器集是否在实际实现此功能。

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; }

© www.soinside.com 2019 - 2024. All rights reserved.