国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS 瀏覽器的等寬空格問題解決

2020-10-23 18:32:00
字體:
供稿:網(wǎng)友

但是   也不是很可靠,比如空格間距非常大,那么我們必須增加多個占位符,同時頁面的體積會變得非常大。

同時,注意到 Safari 中的   寬度是已設(shè)定字符的空格寬度(Safari 的默認(rèn)字體為 Times),也就是說一個中文字符需要兩個占位符。

具體情況如下圖所示:

其實,這不是 Safari 的問題,而是字體的問題。解決的方式就是使用下面的屬性

font-family: '宋體';將 Safari 的默認(rèn)字體設(shè)置成“宋體”等中英文等寬的字體,就能解決。Windows 版本的 Safari 字體設(shè)置,需要直接使用中文“宋體”這樣的名稱而不是“Simsun”(了解原因的兄弟請告訴我)。

但至此,我們的根本目標(biāo)沒有解決,就是能否避免使用   這樣的占位符,而使用“原生”的空格。考慮針對空白的相應(yīng) CSS 屬性,具體了解有關(guān) white-space 的用法,接下來就比較好處理了。

總結(jié)下使用 white-space 實現(xiàn)等寬空格的條件,有兩個。需要設(shè)置對應(yīng)的屬性

white-space: pre;

然后設(shè)置等寬字符(包括等寬空格)即可。綜合起來,就是這樣

font-family: '宋體', Simsun;
white-space: pre;

由于使用了中文 CSS 名稱,所以在實際使用中需要考慮樣式的字符編碼問題。同時,需要額外考慮的是,蘋果機(jī)是否有“宋體”(或者其他等寬的字體),有蘋果機(jī)的兄弟請幫忙測試下。

--Split--

感謝 小馬 提供的另外一個思路,就是使用 em 單位。1em 簡單的說,就可以認(rèn)為是一個字符寬度;同理,.5em 就是半個字符。那么,上面的情況就可以使用這樣寫。

<span>買<ins class="half-word"></ins>寶<ins class="half-word"></ins>貝:</span><br />
<span>我的淘寶:</span><br />
<span>社<ins class="two-word"></ins>區(qū):</span><br />

對應(yīng)的 CSS 應(yīng)為

.half-word {width: .5em;}
.two-word{width:2em;}

經(jīng)測試通過。

--Split--

針對這上述的兩種不同方法,個人認(rèn)為應(yīng)當(dāng)按照實際情況考慮采用。比如第一種方法,雖然依賴具體的等寬字體,但沒有添加其他額外的結(jié)構(gòu),對于以后的維護(hù)會更加的方便;第二種方法,則更多的考慮了實際的應(yīng)用情況(同時也不用依賴具體的等寬字體),但是也添加了額外的結(jié)構(gòu)。

所以,如考慮到以后的可維護(hù)性,同時“語義”的角度上分析,推崇第一種做法。而實際的應(yīng)用情況下,同時需要應(yīng)用比較復(fù)雜時,個人會選用第二種。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 边坝县| 洪洞县| 陵水| 无极县| 黔西| 自治县| 闸北区| 沙田区| 温宿县| 张北县| 遵化市| 米脂县| 建平县| 彭泽县| 靖远县| 永胜县| 平阴县| 灵石县| 封开县| 克东县| 黄龙县| 安吉县| 新竹市| 永修县| 永嘉县| 永州市| 思茅市| 安乡县| 江口县| 洛川县| 揭阳市| 苍山县| 宿迁市| 民丰县| 美姑县| 肃宁县| 汾西县| 包头市| 阳泉市| 军事| 清原|