close

成為前端工程師必備CSS課程(二)-相對單位

在上一篇的前端工程師必備課程提到絕對單位,本篇則是以相對單位著手!

相對單位

em

前端工程師常用的em 是屬於相對單位,意思為每個子元素透過「倍數」乘以它的父元素 (上一層元素) 的值。如以下例子所示:在預設字體為 16px 的前題下,如果我們在CSS的每一層 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 是相對單位,跟 em 的差別在於em 是每個元素乘以其上一層元素 (就是父元素) 的值;而 rem 為每個元素透過「倍數」乘以「根」元素 (就是它的「最」上層元素,通常都是靠CSS改變預設大小) 的 px 值。如下例所示:若預設字體大小為 16px,假設每一層利用CSS碼來設定,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標籤也玩父與子?就讓前端工程師來解密!

 

前端工程師都愛用的CSS,你懂它嗎?

 

程式課程選達內,美上市IT課程教育集團

 

擠進高薪科技大門-Java課程等你來瞭解! 

 

網路行銷課程教你抓住核心掌握主關鍵字

 

美國發布[美國AI倡議]計畫發展AI人工智慧,川普:不想輸給中國!

 

 

 

 

 

arrow
arrow
    創作者介紹
    創作者 jimchen19901212 的頭像
    jimchen19901212

    嫩嫩的程式學習紀錄 - Jim

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