html展示空格、小程序展示空格

390 阅读2分钟

平时在开发前端、小程序时,难免会碰到一些涉及到样式美观需要用到连续空格的情况

默认的 html 中的空格一般被当做单次的分隔符,所以一般是不会显示连续的空格的,因此有特殊场景的时候,需要使用特殊的手段来显示连续的空格(有人可能觉得,直接文本居左居右解决了,两头对齐中间空格呢,难道在搞一个布局么🤣)

pshtml 中一般使用 &[name]; 来表示特殊符号, 例如:&nbsp; 表示空格, &lt; <   &gt; > ,<br>表示回车(\n),只是有些平台不一定支持哈,不支持的时候一般都有特殊属性支持

下面是常见的空格介绍,一般 &nbsp;、&ensp;、&emsp; 这三个见得比较多,当然看到了其他的也不要太陌生,大概知道是占位空格就行了

&#12288;  == 一个中文宽度

&#32; == 普通的英文半角空格

&#160; == &nbsp; == &#xA0; == no-break space (普通的英文半角空格但不换行)

&#8194; == &ensp; == en半角空格 (半个中文宽度)

&#8195; == &emsp; == em全角空格 (一个中文宽度)

&#8197; == 四分之一em空格 (四分之一中文宽度)

相比平时的空格(&#32;),&nbsp拥有不间断(non-breaking)特性。即连续的&nbsp会在同一行内显示。
即使有100个连续的nbsp,浏览器也不会把它们拆成两行。

小程序中也有类似的功能,但是不支持直接显示连续空格的,也需要设置特别的属性

//通过设置 space 来支持空格
<view> 
    <text space="ensp">你好 啊 哈哈哈(半角中文空格,半个中文)</text>
</view>
<view> 
    <text space="emsp">你好 啊 哈哈哈(全角中文空格,一个中文)</text> 
</view> 
<view> 
    <text space="nbsp">你好 啊 哈哈哈(普通的英文半角空格)</text>
</view>

//通过设置 decode 也能支持 html 样式编码
<view> 
    <text decode>你好&ensp;&ensp;&ensp;&ensp;哈哈哈(空格是中文字符一半大小)</text> 
</view> 
<view> 
   <text decode>你好&emsp;&emsp;&emsp;&emsp;哈哈哈(空格是中文字符大小)</text>
</view>
<view>
    <text decode>你好&nbsp;&nbsp;&nbsp;&nbsp;哈哈哈(空格根据字体设置)</text>
 </view>