问题 不破括号?


在灵活布局网站的页脚中,我注意到IE倾向于对括号字符进行换行(在本例中为电话号码)。是否存在视觉上等效的不间断括号,与非破坏空间和非断裂连字符类似,我可以使用它?


8798
2018-04-26 10:33


起源

也许您可以查找可以使用的非ASCII括号。我不确定是否存在合适的,但我想这可能是一个选项。 - Deniz Dogan


答案:


尝试这个:

.phone{
    white-space: nowrap;
}

<p>Call Customer Support at <span class="phone">+34 (947) 12 34 56 78</span> for further enquiries.</p>

你可以做很多其他事情(来自 <nobr> 标记到某些Unicode字符)但它们不像这样跨浏览器。


10
2018-04-26 10:47



这是一个很好的实用解决方案,但是,我专门为非css用户寻找一个纯html版本(可访问性是一个优先事项)。 - graphicdivine
这是一个小问题。在电话号码中间换行不是可访问性问题。 - Quentin
@David Dorward这不是我的观点。我的首要任务是尽可能提供没有CSS的可能体验。另外,我认为不同意 是 可访问性障碍。 - graphicdivine
您可以使用 <nobr> 正如这个答案所暗示的,如果你不想要CSS,但我想不出一个不支持CSS的单个浏览器。 - Max Shawabkeh
不幸的是,这可以防止破坏一切它可以解决OP问题,但我从标题中得到了具体问题;我需要阻止IE打破括号,但仍然打破白色空间。 - David Hay


我遇到了像“user(s)”这样的复数处理问题,其中IE在R之后打破了单词。你应该能够使用单词joiner character(&#x2060;),但在我的IE11测试中,只有已弃用的零宽度非中断空格字符有效:

user&#xFEFF;(s)

4
2017-12-21 19:37





我曾经有过同样的问题;这是一个有效的解决方案:

The number to call is: (423)&nbsp;276&mdash;0000

根据Unicode标准(特别是UAX#14),换行符 在不间断的空间之前或之后是不允许的。因此,&nbsp;防止浏览器在括号上换行。在任何一种情况下,在区号和电话号码之间留一个空格都没有坏处。


2
2018-03-09 21:10