zishu's blog

zishu's blog

一个热爱生活的博主。https://zishu.me

chrome瀏覽器無法顯示12px以下的字體

最近正在面試,遇到了很多有趣的東西,比如今天,在面試前先做了一套面試題,其中有這麼一道題,覺得挺有趣,之前也沒見過,就打算記錄下來:

<!-- Chrome瀏覽器12px字體大小以下無法顯示,均顯示為12px,應該怎麼解決。 -->

我確實有點懵,在之前寫代碼的時候,沒有遇到過這樣的情況,不過既然這樣問了,就得想出解決的辦法。

首先我想到之前的一個問題,0.5px 的邊框該如何實現,通過 scale (0.5) 可以實現,這是 CSS3 新屬性。

所以當時我就寫了通過 transform:scale() 可以實現。不過後續在面試的中,面試官也沒有提及這些問題。


回到家之後,吃完飯坐在電腦旁,正準備逛一逛 GitHub ,突然想起來了這麼一個問題,就自己測試了一遍:

<div style="font-size: 13px;">
    測試
</div>
<div style="font-size: 12px;">
    測試
</div>
<div style="font-size: 11px;">
    測試
</div>

image

竟然真的存在這樣的問題,Chrome 12px 以下的字體無法正常顯示,均顯示為 12px。

然後我用 scale 設置了一下屬性,

<div style="font-size: 13px;">
    測試
</div>
<div style="font-size: 12px;">
    測試
</div>
<div style="font-size: 11px;transform: scale(0.5);">
    測試
</div>

image

字體確實可以再次縮小到自己想到的程度,但是存在一些弊端,所有帶有長度的屬性均被縮小,比如圖中的 div 的長度,本來默認是 100% ,但是顯示只有原來的一半了。

雖然存在這麼個問題,但是按照我自己的預估,平時我們瀏覽的網站基本沒有低於 12px 大小的字體吧!反正我是沒有遇到過,我估計面試題也是想考驗我們對一些生僻知識的處理吧,不過也不算生僻,前有 0.5px,後有 12px,其實都大同小異。

在遇到這個問題的時候,確實可以通過 scale() 處理一下,然後在認真設置其他屬性,盡量避免更多的弊端。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。