前端HTML空格转义符总结

HTML提供了5种空格实体(space entity),它们拥有不同的宽度。
非断行空格( )是常规空格的宽度,可运行于所有主流浏览器。
其他几种空格(    ‌‍)在不同浏览器中宽度各异。

 

它叫不换行空格,全称No-Break Space,它是最常见和我们使用最多的空格,大多数的人可能只接触了 ,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加,该空格占据宽度受字体影响明显而强烈。

 

它叫“半角空格”,全称是En Space,en是字体排印学的计量单位,为em宽度的一半。根据定义,它等同于字体度的一半(如16px字体中就是8px)。名义上是小写字母n的宽度。此空格传承空格家族一贯的特性:透明的,此空格有个相当稳健的特性,就是其占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。

 

它叫“全角空格”,全称是Em Space,em是字体排印学的计量单位,相当于当前指定的点数。例如,1 em在16px的字体中就是16px。此空格也传承空格家族一贯的特性:透明的,此空格也有个相当稳健的特性,就是其占据的宽度正好是1个中文宽度,而且基本上不受字体影响。

 

它叫窄空格,全称是Thin Space。我们不妨称之为“瘦弱空格”,就是该空格长得比较瘦弱,身体单薄,占据的宽度比较小。它是em之六分之一宽。

‌

它叫零宽不连字,全称是Zero Width Non Joiner,简称“ZWNJ”,是一个不打印字符,放在电子文本的两个字符之间,抑制本来会发生的连字,而是以这两个字符原本的字形来绘制。Unicode中的零宽不连字字符映射为“”(zero width non-joiner,U+200C),HTML字符值引用为: ‌

‍

它叫零宽连字,全称是Zero Width Joiner,简称“ZWJ”,是一个不打印字符,放在某些需要复杂排版语言(如阿拉伯语、印地语)的两个字符之间,使得这两个本不会发生连字的字符产生了连字效果。零宽连字符的Unicode码位是U+200D (HTML: ‍ ‍)。

此外,浏览器还会把以下字符当作空白进行解析:空格( )、制表位(	)、换行(
)和回车(
)还有( )等等。

### 实现空格占位符效果 在 Vue.js 中处理或显示空格占位符可以通过多种方式实现。以下是几种常见方法: #### 使用 Unicode 编码表示不同类型的空格字符 不同的场景下可以选择适合的空格编码来满足需求。 - **不间断空格 `\u00A0`** 主要用作防止单词被拆分到两行,适用于需要保持文本连贯性的场合[^3]。 ```html <p>测评报{{ '\u00A0' }}名费</p> ``` - **半角空格(英文符号)`\u0020`** 是最常见的空格形式,在大多数情况下可以作为普通的间隔使用。 ```html <span>{{ '普通文字\u0020间有间隙' }}</span> ``` - **全角空格(中文符号)`\u3000`** 更加贴近东亚语言排版习惯中的间距大小。 ```html <div>这里有一个较大的{{'\u3000'}}空白区域。</div> ``` #### 利用 HTML 实体 ` ` HTML 提供了实体名称 ` ` 来代表不可断开的空间(non-breaking space),这同样可以在 Vue 的绑定表达式里直接应用[^2]。 ```html <button> </button> <!-- 或者 --> <p v-html="'前  后都有固定宽度的空白区'"></p> ``` 需要注意的是当通过 JavaScript 动态设置内容时应确保安全地转义特殊字符以避免 XSS 攻击风险;如果只是简单插入已知的安全字符串,则可以直接利用上述任一方案完成布局调整目的。 对于移动端界面设计而言,有时为了达到更好的视觉体验还会借助 CSS flexbox/grid 等技术手段配合这些占位技巧共同作用于页面构建之中[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值