上篇介紹了前端工程師不可不知的小知識CSS字體絕對單位,這篇則要說說CSS的相對單位!
CSS 字體單位可以分為兩類:絕對 (absolute) 單位及相對 (relative) 單位。
rem 是相對單位,跟 em 的差別是,em 是每個元素乘以其上一層元素 (就是父元素) 的值;而 rem 為每個元素透過「倍數」乘以「根」元素 (就是它的「最」上層元素,通常都是預設大小) 的 px 值。如下例所示:若預設字體大小為 16px,如果每一層 div 前端工程師 都使用 1.5rem,無論是第一層子元素還是第五層的子元素,大小永遠是 16px x 1.5 = 24px。
% 是相對單位,跟 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。
larger 和 smaller 就是以上一層 (父層) 的固定百分比為單位,larger 為父層的 120%,smaller 為父層的 80%。
推薦閱讀:
前端工程師小知識-CSS字體絕對單位
前端工程師必學-CSS 常見邊框屬性解釋
CSS的繼承關係:前端工程師的必備知識之一
HTML5教學告訴你使用語意標籤的最大的目的
HTML5教學讓你的電子書讀起來不再卡卡der!!
網美們愛用的IG,竟然是訓練AI人工智慧的好幫手?!
人工智慧真帶來了便利!MIT的這個APP,造就多少人的便利啊!
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。rem
rem 是相對單位,跟 em 的差別是,em 是每個元素乘以其上一層元素 (就是父元素) 的值;而 rem 為每個元素透過「倍數」乘以「根」元素 (就是它的「最」上層元素,通常都是預設大小) 的 px 值。如下例所示:若預設字體大小為 16px,如果每一層 div 前端工程師 都使用 1.5rem,無論是第一層子元素還是第五層的子元素,大小永遠是 16px x 1.5 = 24px。
%
% 是相對單位,跟 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。
larger / smaller
larger 和 smaller 就是以上一層 (父層) 的固定百分比為單位,larger 為父層的 120%,smaller 為父層的 80%。
See the Pen #demo-larger, smaller by Tedutw (@Tedutw) on CodePen.
推薦閱讀:
前端工程師小知識-CSS字體絕對單位
前端工程師必學-CSS 常見邊框屬性解釋
CSS的繼承關係:前端工程師的必備知識之一
HTML5教學告訴你使用語意標籤的最大的目的
HTML5教學讓你的電子書讀起來不再卡卡der!!
網美們愛用的IG,竟然是訓練AI人工智慧的好幫手?!
人工智慧真帶來了便利!MIT的這個APP,造就多少人的便利啊!