连字符后打破
我正在寻找在连字符后防止换行符-
与所有浏览器兼容的个案基础。
例:
我有这样的文字: 3-3/8"
在HTML中是这样的: 3-3/8”
问题在于,由于连字符的原因,在一行的结尾,它会打断并换行到下一行,而不是像完整的单词那样对待它。
3-
3/8"
我试过插入“零宽度
字符”, 
没有运气......
3-3/8”
我在Safari中看到了这一点,并认为它在所有浏览器中都是相同的。
以下是我的doctype
和字符编码...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
连字符后面有什么方法可以防止它们断裂? 我不需要任何适用于整个页面的解决方案......只需要一些我可以根据需要插入的东西,比如“零宽度无间断字符”,除了一个可用。
这是一个演示。 简单地使框架变窄,直到连字符断开。
http://jsfiddle.net/RagKH/
尝试使用不‑
连字符‑
。 我已经用你的jsfiddle中的那个角色代替了破折号,缩小了框架的尺寸,并且线条不再分裂。
你也可以用相关的文字包装
<span style="white-space: nowrap;"></span>
IE8 / 9使得CanSpice的答案中提到的不分段连字符长于一个典型的连字符。 这是一个连字符的长度,而不是一个典型的连字符。 这种显示差异对我来说是一个难题。
由于我无法使用由Deb I指定的CSS答案,而是选择不使用中断标签。
<nobr>e-mail</nobr>
另外我发现了一个导致IE8 / 9打破连字符的特定场景。
IE呈现这样。
下面的代码重现了上面的问题。 IE10已经解决了这个问题,所以我必须使用元标记强制渲染到IE9。 没有小提琴,因为它不支持元标签。
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta charset="utf-8"/>
<style>
body { padding: 20px; }
div { width: 300px; border: 1px solid gray; }
</style>
</head>
<body>
<div>
<p>If there is a - and words are separated by the whitespace code &nbsp; then IE will wrap on the dash.</p>
</div>
</body>
</html>
链接地址: http://www.djcxy.com/p/28231.html
上一篇: break after a hyphen