Html 非破折号破折号,非连字符

Html 非破折号破折号,非连字符,html,hyphen,Html,Hyphen,我知道html中有一个不间断的连字符(\8209),但我需要一个不间断的连字符(\8211)。它们的用法不同。除了在我的文档中包装文本和破折号而不使用中断码外,还有没有其他合适的方法来执行此操作,例如: <nobr> TEXT #8211 TEXT </nobr> TEXT--8211文本 试着用单词Joiner字符(#8288)包围en破折号 根据这一点,以及关于joiner一词的其他答案–,以下HTML应生成不可破坏的破折号: 如果字符没有HTML实体,则

我知道html中有一个不间断的连字符(
\8209
),但我需要一个不间断的连字符(
\8211
)。它们的用法不同。除了在我的文档中包装文本和破折号而不使用中断码外,还有没有其他合适的方法来执行此操作,例如:

<nobr> TEXT #8211 TEXT </nobr>
TEXT--8211文本

试着用单词Joiner字符(#8288)包围en破折号

根据这一点,以及关于joiner一词的其他答案
,以下HTML应生成不可破坏的破折号:

如果字符没有HTML实体,则可以使用十进制 (dec)或十六进制(hex)参考


将打破:

文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本–;文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本 不会断开(单词joiner):
文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本⁠–⁠文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
在最近的一个项目中,这个问题让我抓狂。我发现很难相信破折号在默认情况下是破折号。如果可以用html插入额外字符,那么
运行良好。注意,在en破折号之后只需要一个单词joiner,因为我相信它们之前不会断开

出于许多原因,手动在源HTML中的任何地方添加额外字符对我来说都不起作用,我提出了一个javascript解决方案,它自动将
.nobreak
CSS类应用于任何破折号以及紧跟其后的字符

<style>
    .nobreak {
        white-space: nowrap;
    }
</style>

<body>

    <p>This is a paragraph with a number range, 1–34, and it will never break after the en dash.</p>

    <script>
        $("body").html(function(_, html) {
            return  html.replace(/(–.)/g, '<span class="nobreak">$1</span>')
        });
    </script>

</body>

您可以尝试使用,即
,横线的两边。(关于键入
等而不转换为HTML:)你说它们的用法不同。我非常好奇:不间断连字符和不间断破折号有什么区别?也许我把破折号用错了?@SherylHohman A连字符(-)是用来连接单词或单词部分的标点符号。它不能与其他类型的破折号互换。破折号比连字符长,通常用于表示范围或暂停。最常见的破折号类型是en破折号(–)和em破折号(-)。酷。em&en破折号的用途是什么?em/en代表什么?我学到了一些东西——我一直在用连字符(一个“常规破折号”)表示距离,而我应该用一个en或em长的破折号。我有一个网站要相应更新:-)
<style>
    .nobreak {
        white-space: nowrap;
    }
</style>

<body>

    <p>This is a paragraph with a number range, 1–34, and it will never break after the en dash.</p>

    <script>
        $("body").html(function(_, html) {
            return  html.replace(/(–.)/g, '<span class="nobreak">$1</span>')
        });
    </script>

</body>
$("body").html(function(_, html) {
    return  html.replace(/–/g, '–&#8288;')
});