删除线文字生成器
这里的删除线是叠加在每个字母上方的组合字符。它会作为文本被复制,因此在没有格式菜单的地方也能生效。
三种线条,三个字符
这种效果由组合字符实现:这些标记会附着在前面的字符上,而不单独占据一个位置。一个普通字母是一个码点;一个带贯穿线的字母是两个——字母本身,再加上标记。
| 效果 | Hello | 标记 | 码点 |
|---|---|---|---|
| 删除线 | H̶e̶l̶l̶o̶ | 组合长横线叠加 | U+0336 |
| 下划线 | H̲e̲l̲l̲o̲ | 组合下划线 | U+0332 |
| 斜线 | H̸e̸l̸l̸o̸ | 组合长斜线叠加 | U+0338 |
由于标记跟在字母之后,字符串读作“H、叠加标记、e、叠加标记”,依此类推。删掉字母,标记会留在原处,画在它前面的字符上——这就是为什么在单词中间手动编辑这段文字,往往会留下多余的线条。
适用场景
- 价格。 $̶4̶9̶ 放在新价格旁边,用于海报或没有富文本的故事中。
- 更正。 划掉错误的时间或日期而不是删除它,能让更正保持可见。
- 聊天中的待办清单。 把已经处理过的消息标记为完成。
- 用下划线强调,适用于粗体已被用于其他用途的场合。它是三种效果中最不常见、支持也最差的一种。
失效场景
- 会剥离组合标记的输入框。 用户名、部分评论框以及大多数表单验证会丢弃叠加标记,只留下普通字母。内容并没有损坏;是输入框把它移除了。
- 字符限制。 这段文字在码点上长度翻倍。150 个字符的标题限制只能容纳 75 个带删除线的字母,而不是 150 个。
- 换行。 位于行尾或换行符之前的标记可能渲染到错误的行上,或者消失。请让带删除线的文字保持在同一行内。
- 游戏和终端。 等宽显示环境通常没有叠加标记的字形,因此它会在每个字母后显示为一个方框。
- 无障碍。 屏幕阅读器可能把叠加标记读作单独的符号,为每个字母念出“组合长横线叠加”,或者完全跳过它。被朗读出来的划掉价格,听起来可能完全没有被划掉。
如果应用自带语法,就用它。 Discord、Reddit、GitHub、Slack 以及若干聊天应用会把 ~~text~~ 视为删除线,结果是真正的格式:每个字母一个码点,辅助技术可以读取,读者也能自行移除。组合字符这套技巧,是为那些该语法不起作用的输入框准备的。
手动输入
如果只是单个词,你只要能复制标记本身,就不需要这个页面。标记是 U+0336,在它跟在字母后面之前是不可见的:H + U+0336 渲染为 H̶。把光标放在字母后面,粘贴标记,重复即可。整个技巧就是这样——“删除线字体”不过是一个小字符,重复出现在每个字母之后。
这三种标记可以叠加。同时带有 U+0336 和 U+0332 的字母,在大多数字体中会渲染出贯穿线和下划线;结果很少值得牺牲可读性,而且叠加两个以上的标记通常会变成一团黑块。
常见问题
这是可以下载的字体吗?
不是。输出的是带有额外字符的文本。文档中真正的删除线是格式,复制到纯文本时会丢失;而这种方式之所以能保留,是因为它本身就是字符的一部分。
为什么只有部分文字被划掉?
标记会附着在它前面的字符上。如果在粘贴后又输入了字母,或者输入框对字符串的一部分做了规范化处理,对齐就会偏移,线条会落在错误的位置。请重新生成整段文字,而不是修补它。
带删除线的文字还会被搜索引擎收录吗?
这些字符会按原样被收录,叠加标记也一并保留。搜索普通单词不会匹配到划掉的版本,而划掉的版本也不会被识别为“同一个词,只是被划掉了”。