首頁 > web前端 > css教學 > 分享css中關於空格的寫法詳解

分享css中關於空格的寫法詳解

黄舟
發布: 2017-07-22 09:26:48
原創
2805 人瀏覽過
字元以及HTML實體 描述以及說明


 

這是我們使用最多的空格,也就是按下space鍵產生的空格。在HTML中,如果你用空白鍵產生此空格,空格是不會累加的(只算1個)。要使用 html實體表示才可累加。為了便於記憶,我總是把這個空格變成“牛逼(nb)空格(sp – space)”,雖然實際上並不屌。此空格佔據寬度受字體影響明顯且強烈。在inline-block佈局中會搞些小破壞,在兩端對齊佈局中又是必不可少 的元素。是個讓人又愛又恨的小東東。


# 

該空格學名不詳。為了方便記憶,我們不妨就叫它「惡念(e n-ian)空格」。此空格傳承空格家族一貫的特性:透明滴!此空格有個相當穩健的特性,就是其佔據的寬度剛好是1/2個中文寬度,而且基本上不受字體影響。


# 

該空格學名不詳。為了便於記憶,我們不妨就叫它」惡魔(e m-o)空格」。此空格也傳承空格家族一貫的特性:透明滴!此空格也有相當穩健的特性,就是其佔據的寬度剛好是1個中文寬度,而且基本上不受字體影響。


# 

該空格學名不詳。我們不妨稱之為“瘦弱空格”,就是該空格長得比較瘦弱,身體單薄,佔據的寬度比較小。我目前是沒用過這個東西,這裡亮出來是讓其過一下群眾演員的癮。

其中的,由于具有某一超赞的特性,使其可以登上web届的舞台!什么特性呢?如上表加粗展示,1. 透明; 2. 宽度正好跟中文正好是1:21:1的关系,于是,一些中文排版对齐什么的,直接就可以使用这两个空格调节,如:


<ul>
    <li class="li">姓&emsp;&emsp;名:<input type="text" /></li>
    <li class="li">手&ensp;机&ensp;号:<input type="text" /></li>
    <li class="li">电子邮箱:<input type="text" /></li>
</ul>
登入後複製

分享css中關於空格的寫法詳解

当中文和英文混杂的时候,使用&ensp;, &emsp;等空格实现冒号的完美对齐还是有些困难的,除非英文使用的是等宽字体,于是乎,我们就可以使用普通的 空格做英文字符的宽度调节。

&#x3000;

「叉三千」指什么呢?哈哈,其实是全角空格。

中文字体都是等宽的,一个全角空格的宽度就是一个普通中文的宽度。所以,上面的demo中&emsp;空格换成全角空格也是可以滴!

但是,我们不能直接在页面中打全角空格,因为在大多数编辑器中空格是透明滴,很容易就被删掉;另外,HTML压缩时候,空格很可能被干掉!咋办?需要转换书写形式。

在web页面上,一般有3种书写:

  1. 直接,例如搜狗输入法输入“版权” – ©.

  2. web字符,&copy;

  3. charCode表示:&#xa9;

而上面的&ensp;, &emsp;就是具有特定名称的web字符。但是,恕我寡闻,我并不清楚全角空格是否有对应& + 关键字示意,所以,就使用工具转成了charCode字符表示,也就是这里的&#x3000;,又称「叉三千」!

稍等,你刚说了工具,什么工具!?

哈,这位同学好敏锐,我是有一个私藏的小工具,可以把任意字符转换成HTML识别格式,若有兴趣,您可以狠狠地点击这里:任意字符转换成HTML识别格式工具页面

分享css中關於空格的寫法詳解

使用了这个工具,你会发现&ensp;, &emsp;原来是相邻兄弟关系:

  • &ensp;&#x2002;

  • &emsp;&#x2003;

再科普点关于字符的实用知识吧:
1. HTML中字符输出使用&#x配上charCode值;
2. 在JavaScript文件中为防止乱码转义,则是\u配上charCode值;
3. 而在CSS文件中,如CSS伪元素的content属性,直接使用\配上charCode值。

因此,想在HTML/JS/CSS中转义“我”这个汉字,分别是:

  1. &#x6211;

  2. \u6211, 如console.log(&#39;\u6211&#39;);

  3. \6211, 如.xxx:before { content: &#39;\6211&#39;; }

考虑到直接&#x3000;这种形式暴露在HTML中,可能会让屏幕阅读器等辅助设备读取,从而影响正常阅读流,因此,我们可以进一步优化下,使用标签,利用伪元素,例如:


.half:before { content: &#39;\2002&#39;; speak: none; }
.full:before { content: &#39;\2003&#39;; speak: none; }
登入後複製

这样,占位的空格字符即不能读,也不能选了。

以上是分享css中關於空格的寫法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板