Chrome手機(jī)頁面調(diào)試Font Boosting問題

Font Boosting(字體放大)

1. 別名

  • Text Autosizer(文本自調(diào))
  • Font Inflation(字體膨脹)

2. 現(xiàn)象

字體顯示尺寸比CSS中指定尺寸大。Chrome自行放大頁面字體的大小。

3. 案例

單擊參考

4. 原因

網(wǎng)上的解釋:

當(dāng)我們?cè)谑謾C(jī)上瀏覽網(wǎng)頁時(shí),很可能因?yàn)樵柬撁鎸挾容^大,在手機(jī)屏幕上縮小后就看不清其中的文字了。而 Font Boosting 特性在這時(shí)會(huì)自動(dòng)將其中的文字字體變大,保證在即不需要左右滑動(dòng)屏幕,也不需要雙擊放大屏幕內(nèi)容的前提下,也可以讓人們方便的閱讀頁面中的文本。

無C++編程基礎(chǔ),可跳過下面內(nèi)容,直接查看解決方式。
Chromium(開源版Chrome)的處理源代碼如下所示:

multiplier = Math.max(1, deviceScaleAdjustment * textScalingSlider * systemFontScale * clusterWidth / screenWidth);
if (originFontSize < 16) {
    computedFontSize = originFontSize * multiplier;
}
else if (16 <= originFontSize <= (32 * multiplier - 16)) {
    computedFontSize = (originFontSize / 2) + (16 * multiplier - 8);
}
else if (originFontSize > (32 * multiplier - 16)) {
    computedFontSize = originFontSize;
}

變量說明

|變量|作用|
|:-|
|originFontSize|原始字體大小|
|computedFontSize|經(jīng)過計(jì)算后的字體大小|
|multiplier|換算系數(shù),值由以下幾個(gè)值計(jì)算得到。|
|deviceScaleAdjustment|當(dāng)指定 viewport width=device-width 時(shí)此值為 1,否則值在 1.05 - 1.3 之間,有專門的計(jì)算規(guī)則。|
|textScalingSlider|瀏覽器中手動(dòng)指定的縮放比例,默認(rèn)為 1|
|systemFontScale|系統(tǒng)字體大小,Android設(shè)備可以在「設(shè)備 - 顯示 - 字體大小」處設(shè)置,默認(rèn)為 1|
|clusterWidth|應(yīng)用 Font Boosting 特性字體所在元素的寬度(如何確定這個(gè)元素請(qǐng)參考上邊兩個(gè)鏈接)|
|screenWidth|設(shè)備屏幕分辨率(DIPs, Density-Independent Pixels),如 iPhone 5 為 320|

上面代碼可知:

  • 當(dāng)multiplier大于1,并且originFontSize小于(32 * multiplier - 16)時(shí),才會(huì)出現(xiàn)Font Boosting。
  • multiplier大于1等價(jià)于deviceScaleAdjustment * textScalingSlider * systemFontScale * clusterWidth / screenWidth大于1。
  • 在初始頁面,一般deviceScaleAdjustmenttextScalingSlidersystemFontScale都是1,不影響最終結(jié)果,只要clusterWidth / screenWidth大于1,就會(huì)出現(xiàn)Font Boosting。

5. 解決

  • 方法一
    在出現(xiàn)Font Boosting情況的元素CSS加上max-height:100%即可。
  • 方法二
    給元素設(shè)置-webkit-text-size-adjust: none;。

6. 參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,108評(píng)論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,112評(píng)論 0 2
  • 一、流式布局 1.1 什么是流式布局 流式布局就是百分比布局,通過盒子的寬度設(shè)置成百分比來根據(jù)屏幕的寬度來進(jìn)行伸縮...
    福爾摩雞閱讀 4,475評(píng)論 2 15
  • H5移動(dòng)端知識(shí)點(diǎn)總結(jié) 閱讀目錄 移動(dòng)開發(fā)基本知識(shí)點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,824評(píng)論 0 26
  • 武林計(jì)劃少的力量,聽過之后決定重新思考思維導(dǎo)圖的畫法,在插圖上和中心圖上做改進(jìn),把思維導(dǎo)圖做新的改進(jìn),還要向其他同學(xué)學(xué)習(xí)
    中二的化學(xué)君閱讀 322評(píng)論 0 0

友情鏈接更多精彩內(nèi)容