我有一個簡單的問題,你從哪里聲明rem計算的基數大小?
<body>
<h1>Something</h1>
</body>
我可以看到字體大小是& ltbody & gt設置為16px,并且& lth1 & gt設置為3像素,但字體卻以30px呈現,而我期望的是48px。任何父級都可以重定義基嗎?
雷姆
表示根元素的字體大小(通常& lthtml & gt). 當在根元素font-size中使用時,它表示它的初始 值(常見的瀏覽器默認值為16px,但用戶可以自定義首選項 可以對此進行修改)。
來源
換句話說,改變html元素的字體大小,rem的計算基數也會改變。
示例:
<html style="font-size: 10px">
...
</html>
rem單位基于html元素的字體大小,而不是body元素的字體大小。html的默認大小通常是16px,但是這并不能保證,用戶可以更改默認值。一種常見的做法是在html上手動顯式設置字體大小,通常設置為16px,然后在其他地方使用rems來設置最終的顯示值。
然而,當用戶想要或需要增加默認字體大小時,這種做法存在可訪問性問題,所以您應該設計您的頁面和布局,以便它們可以適應不同的大小。
來自https://developer.mozilla.org/en-US/docs/Web/CSS/font-size:
rem值相對于根html元素,而不是父元素。換句話說,它允許您以相對方式指定字體大小,而不受父字體大小的影響,從而消除了復合。
只需設置html元素的字體大小:
html {
font-size: 10px;
}
這樣做時,您正在設置根字體大小,因此rem測量將在設置字體大小時受到影響。
在前面的回答中添加一個最佳實踐:根字體大小應該用百分比表示。
html {
font-size: 110%;
}
此練習根據用戶的系統/瀏覽器設置來縮放字體。與其他網站相比,你的網站會不斷地被放大/縮小。(假設這些網站也遵循最佳實踐)。
對用戶來說,更尊重的是根本不要接觸根字體大小,這樣他們在不同的網站上有一致的閱讀體驗,并且可以可靠地使用可訪問性設置。
如下設置html元素的字體大小。html元素的默認字體大小是16px。rem base size總是在html元素而不是body上設置。
<html style="font-size:16px">
<body>
<h1>Rem Sizing</h1>
</body>
</html>