移動端解決文字不居中問題

2022-03-09 06:02:41 字數 634 閱讀 2140

在寫移動端的時候遇見乙個大坑

帶背景顏色的文字顯示,常見的垂直居中方法如下:

.text

設定height等於line-height就可以實現文字在背景高度下居中。

在移動端ios跟安卓下卻顯示出垂直文字不居中。

因為文字在content-area內部渲染的時候就已經偏移。css的居中方案都是用來控制整個content-area的居中而已,對content-area內部不會產生實質性的影響。

導致這個問題的本質原因可能是android在排版計算的時候參考了primyfont字型的相關屬性(即hhead ascent、hhead descent等)。

primyfont字型的確定,是依據font-family裡哪個字型在fonts.xml裡第乙個匹配上。

原生android下中文字型是沒有family name的,導致匹配上的字型始終不是中文字型。所以渲染的時候出現偏差。

那麼,解決這個問題就要在font-family裡顯式申明中文,或者通過什麼方法保證所有字元都fallback到中文字型。

解決這個問題的比較常用的是設定font-family: sans-serif

針對miui 8.0+裝置:設定font-family: miui。

解決移動端line height不居中問題

問題 在移動端中使用line height height實現文字垂直居中時,在安卓手機會發現文字偏上!解決 1 利用flex布局中的垂直居中屬性實現垂直居中,父元素設定 display flex height 1rem align items center 子元素transform scale 0....

使用 letter space 後文字不能居中解決

1 letter space 2em 2text align center 使用letter space後和上面的字型對比明顯沒有居中 選定元素後發現,每個字後面都被加了2em,不是不能居中而是因為多了最後乙個字的2em,所以向左多對齊了2em。解決辦法 1 letter space 2em 2te...

解決extjs grid文字不能選中的問題

x selectable,x selectable enable grid cell to be selected in chrome x selectable firefox x selectable ie unselectable ext.grid.gridview.prototype.cell...