2017-04-21 121 views
0

我想爲我的web應用程序的小屏幕視圖創建CSS,並且我遇到了令人生厭的字體大小問題。這是場景。相同的CSS在不同的頁面上生成不同的字體大小

我有一個類,讓我們叫它.noListItemsWords。

.noListItemsWords { 
    font-size: 80%; 
} 

在這兩個頁面上設置字體大小的DOM上的唯一父代是body,它的字體大小爲24pt。

在一個頁面上,瀏覽器渲染這個元素用的47.7681px字體大小:32PX的 browser rendering of the element on page 1

第二頁,瀏覽器只在渲染這個字體大小: browser rendering of the element on page 2

這是爲什麼發生?有什麼方法可以處理它嗎?

編輯: 顯示,使用我的身體標記和REM單位爲我的字體基地百分比不解決這個問題:

page one using rem page two using rem

在谷歌Chrome瀏覽器57

回答

1

嗯,我真的不明白爲什麼這個修復它,但添加視口元標記所做的字體行爲回去預期:

<meta name="viewport" content="width=device-width, initial-scale=1"> 
0

你測試應該在您的body CSS中將font-size設置爲百分比。然後使用rem設置單個字符串文本的大小。

rem將根據您放入基地body類的百分比按比例縮放字體。

body { 
    font-size: 100%; 
} 

.noListItemsWord { 
    font-size: 0.8rem; 
} 
+0

如果我這樣做,是什麼是身體的字體大小的百分比? 對於我來說,將絕對字體大小放在身體上並在其他地方使用相對大小(百分比)是有意義的。這也不回答爲什麼我寫的方式不起作用的問題 – Nick

+0

這是您整個網站的基本百分比。所以在未來,如果你不得不縮放所有的文本和間距,你可以改變體內的百分比值,而不必單獨改變每個「px」或任何值。所以你應該使用'rem'來隔離你的div和所有東西。 – Celt

+0

這仍然不能回答爲什麼我的基本元素使用相對單位,或者爲什麼我寫的場景不起作用。我已經獨立地查看了rem,並且發現它與您的基本元素相關,這肯定比百分比或em更確定,但仍然在其他點上尋找更多答案 – Nick