前端工程師的CSS字體單位小常識:相對單位

前端工程師都該知道的CSS字體單位小常識:相對單位篇

 

在 CSS ,字體單位可以分為兩大類:絕對 (absolute) 單位以及相對 (relative) 單位:

分別介紹如下:

目錄
相對單位
em
rem
%
larger, smaller

 

相對單位

em

em 是 CSS 相對單位,每個子元素透過「倍數」乘以它的父元素 (上一層元素) 的值。像是以下例子所顯示的:在預設字體 16px 的前題下,如果 前端工程師 每一層 div 區都設定為 1.5em,那麼第一層子元素就是 16px x 1.5 = 24px;而第二層子元素就是上一層元素的 1.5 倍,為 24px x 1.5 = 36px;由此類推...到第五層就會是 16px x 1.5 x 1.5 x 1.5 x 1.5 x 1.5 = 121.5px。

See the Pen #demo-em by Tedutw (@Tedutw) on CodePen.

 

rem

rem 是 CSS 單位,跟 em 的差別是,em 是每個元素乘以其上一層元素 (就是父元素) 的值;而 rem 為每個元素透過「倍數」乘以「根」元素 (就是它的「最」上層元素,通常都是預設大小) 的 px 值。如下例所示:若預設字體大小為 16px,如果每一層 div 都使用 1.5rem,無論是第一層子元素還是第五層的子元素,大小永遠是 16px x 1.5 = 24px。

See the Pen #demo-rem by Tedutw (@Tedutw) on CodePen.

 

%

% 是相對單位,跟 em 一樣都為每個元素乘以其上一層元素 (就是父元素) 的值,差別只是 em 是倍數單位;而 % 就是百分比單位。如在預設字體為 16px 的前題下,如果 前端工程師 每一層 div 區都設定為 150%,則第一層子元素就是 16px x 150% = 24px;第二層子元素就是上一層元素的 150%,為 24px x 150% = 36px;由此類推...到第五層就會是 16px x 150% x 150% x 150% x 150% x 150% = 121.5px。

See the Pen #demo-% by Tedutw (@Tedutw) on CodePen.

 

larger / smaller

larger 和 smaller 就是以上一層 (父層) 的固定百分比為單位,larger 為父層的 120%,smaller 為父層的 80%。

See the Pen #demo-larger, smaller by Tedutw (@Tedutw) on CodePen.

 

推薦閱讀

前端工程師學CSS字體單位-絕對單位篇

關於CSS的邊框(border)屬性,前端工程師大揭密!

盒子模式?它可是前端工程師課程絕不會缺席的角色!(上)

想進入全球十大AI人工智慧公司!Python課程是基礎入門

URL做好這五招,網頁達到SEO優化沒煩惱!

正在學習Python課程的你,是否已看過AI惡搞哈利波特續集?

來來來!HTML5教學教你怎麼讓你的網站煥然一新!

    uidesignxiaoshow 發表在 痞客邦 留言(0) 人氣()