CSS 中 em 和 rem 單位的區(qū)別解析

在CSS中設(shè)置任何元素的大小時(shí),我們有兩種選擇。 第一個(gè)是絕對(duì)單位,另一個(gè)是相對(duì)單位。 絕對(duì)單位是固定的,與其他任何東西無(wú)關(guān)。 在任何情況下它們總是相同的。 它們涉及厘米、毫米、像素等。另一方面,相對(duì)單位是相對(duì)于其他東西的。 它可能是父元素的大小或主 HTML 的大小。 相對(duì)單位包括em
、rem
、vw
、vh
等。這些是可擴(kuò)展的單位,有助于響應(yīng)式設(shè)計(jì)。 我們中的許多人可能會(huì)對(duì)相對(duì)單位感到困惑,尤其是em和rem單位。 讓我們分解這兩者之間的區(qū)別。 基本上,rem 和 em 都是可縮放的相對(duì)大小單位,但是對(duì)于 em,單位是相對(duì)于其父元素的字體大小,而 rem 單位僅相對(duì)于 HTML 文檔的根字體大小。 rem 中的“r”代表“根(root)”。
下面讓我們?cè)敿?xì)了解它們。
1. em 單位:em 單位允許設(shè)置元素的字體大小相對(duì)于其父元素的字體大小。 當(dāng)父元素的大小改變時(shí),子元素的大小會(huì)自動(dòng)改變。
注意:當(dāng)字體大小屬性上使用 em 單位時(shí),大小是相對(duì)于父級(jí)的字體大小的。 當(dāng)用于其他屬性時(shí),它與該元素本身的字體大小有關(guān)。 在這里,只有第一個(gè)聲明采用父級(jí)的引用。
- .child 元素的 font-size(字體大?。?40px (2*20px)。
- .child 的邊距為 60px。 這是我們?cè)刈煮w大小(1.5*40px)的 1.5 倍。
<!DOCTYPE html> <html> <head> <title>Em 和 Rem - 腳本之家(jb51.net)</title> </head> <style> .parent { font-size: 20px; } .child-em { font-size: 2em; margin: 1.5em; } </style> <body> <div class="parent"> 這是父元素 <div class="child-em"> 這是 em 單位系統(tǒng)中的 Child </div> </div> </body> </html>
上面示例運(yùn)行結(jié)果如下
2. rem 單位:rem 是基于根元素的 font-size 值,也就是<html>
元素。 如果 <html> 元素沒(méi)有指定字體大小,則使用瀏覽器默認(rèn)值16px。 所以這里只考慮根的值,與父元素沒(méi)有關(guān)系。
與 em 不同,這里的大小對(duì)于所有聲明都是相對(duì)的,而不僅僅是第一個(gè)。 讓我們通過(guò)前面的例子來(lái)理解這一點(diǎn)。
- .child 元素的 font-size(字體大?。?60px (2*30px)。
- .child 的邊距為 45px。 這是我們?cè)刈煮w大?。?.5*30px)的 1.5 倍。
<!DOCTYPE html> <html> <head> <title>Em vs Rem - 腳本之家(jb51.net)</title>
</head> <style> .html { font-size: 30px; } .parent { font-size: 20px; } .child-rem { font-size: 2rem; margin: 1.5rem; } </style> <body> <div class="parent"> 這是父元素 <div class="child-rem"> 這是 rem 單位系統(tǒng)中的 Child </div> </div> </body> </html>
上面示例運(yùn)行結(jié)果如下
css em vs rem 運(yùn)行結(jié)果
em 和 rem 單元之間的差異如下:
參數(shù) | em | rem |
---|---|---|
相對(duì)性 | em 是相對(duì)于其直接或最近的父元素 | REM的字體大小相對(duì)于HTML(root)字體大小 |
復(fù)合效果 | 可能導(dǎo)致復(fù)合效果 | 不會(huì)導(dǎo)致復(fù)合效果 |
希望大家能了解EM和REM單位之間的明顯差異。 很容易記住,rem 中的r表示根,及相對(duì)于根(root)。em 是相對(duì)于父元素的。
在CSS中設(shè)置任何元素的大小時(shí),我們有兩種選擇。 第一個(gè)是絕對(duì)單位,另一個(gè)是相對(duì)單位。 絕對(duì)單位是固定的,與其他任何東西無(wú)關(guān)。 在任何情況下它們總是相同的。 它們涉及厘米、毫米、像素等。另一方面,相對(duì)單位是相對(duì)于其他東西的。 它可能是父元素的大小或主 HTML 的大小。 相對(duì)單位包括em
、rem
、vw
、vh
等。這些是可擴(kuò)展的單位,有助于響應(yīng)式設(shè)計(jì)。 我們中的許多人可能會(huì)對(duì)相對(duì)單位感到困惑,尤其是em和rem單位。 讓我們分解這兩者之間的區(qū)別。 基本上,rem 和 em 都是可縮放的相對(duì)大小單位,但是對(duì)于 em,單位是相對(duì)于其父元素的字體大小,而 rem 單位僅相對(duì)于 HTML 文檔的根字體大小。 rem 中的“r”代表“根(root)”。
下面讓我們?cè)敿?xì)了解它們。
1. em 單位:em 單位允許設(shè)置元素的字體大小相對(duì)于其父元素的字體大小。 當(dāng)父元素的大小改變時(shí),子元素的大小會(huì)自動(dòng)改變。
注意:當(dāng)字體大小屬性上使用 em 單位時(shí),大小是相對(duì)于父級(jí)的字體大小的。 當(dāng)用于其他屬性時(shí),它與該元素本身的字體大小有關(guān)。 在這里,只有第一個(gè)聲明采用父級(jí)的引用。
- .child 元素的 font-size(字體大?。?40px (2*20px)。
- .child 的邊距為 60px。 這是我們?cè)刈煮w大小(1.5*40px)的 1.5 倍。
<!DOCTYPE html> <html> <head> <title>Em 和 Rem - 腳本之家(jb51.net)</title>
</head> <style> .parent { font-size: 20px; } .child-em { font-size: 2em; margin: 1.5em; } </style> <body> <div > 這是父元素 <div > 這是 em 單位系統(tǒng)中的 Child </div> </div> </body> </html>
上面示例運(yùn)行結(jié)果如下
2. rem 單位:rem 是基于根元素的 font-size 值,也就是<html>
元素。 如果 <html> 元素沒(méi)有指定字體大小,則使用瀏覽器默認(rèn)值16px。 所以這里只考慮根的值,與父元素沒(méi)有關(guān)系。
與 em 不同,這里的大小對(duì)于所有聲明都是相對(duì)的,而不僅僅是第一個(gè)。 讓我們通過(guò)前面的例子來(lái)理解這一點(diǎn)。
- .child 元素的 font-size(字體大小)為 60px (2*30px)。
- .child 的邊距為 45px。 這是我們?cè)刈煮w大?。?.5*30px)的 1.5 倍。
<!DOCTYPE html> <html> <head> <title>Em vs Rem - 腳本之家(jb51.net)</title>
</head> <style> .html { font-size: 30px; } .parent { font-size: 20px; } .child-rem { font-size: 2rem; margin: 1.5rem; } </style> <body> <div class="parent"> 這是父元素 <div class="child-rem"> 這是 rem 單位系統(tǒng)中的 Child </div> </div> </body> </html>
上面示例運(yùn)行結(jié)果如下
em 和 rem 單元之間的差異如下:
參數(shù) | em | rem |
---|---|---|
相對(duì)性 | em 是相對(duì)于其直接或最近的父元素 | REM的字體大小相對(duì)于HTML(root)字體大小 |
復(fù)合效果 | 可能導(dǎo)致復(fù)合效果 | 不會(huì)導(dǎo)致復(fù)合效果 |
希望大家能了解EM和REM單位之間的明顯差異。 很容易記住,rem 中的r表示根,及相對(duì)于根(root)。em 是相對(duì)于父元素的。
到此這篇關(guān)于CSS 中 em 和 rem 單位的區(qū)別的文章就介紹到這了,更多相關(guān)css em 和 rem 區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
淺析CSS中單位px、rem、em、vh、vw之間的區(qū)別
這篇文章主要介紹了CSS中單位px、rem、em、vh、vw之間的區(qū)別,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-25CSS 中px、em、rem、%、vw、vh單位之間的區(qū)別詳解
這篇文章主要介紹了CSS 中px、em、rem、%、vw、vh單位之間的區(qū)別,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-03-16postcss-pxtorem移動(dòng)端適配的實(shí)現(xiàn)
這篇文章主要介紹了postcss-pxtorem移動(dòng)端適配的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)2019-12-03css基于媒體查詢和 rem 的響應(yīng)式布局實(shí)踐
這篇文章主要介紹了css基于媒體查詢和 rem 的響應(yīng)式布局實(shí)踐的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-30移動(dòng)端使用 rem 單位時(shí) css sprites 定位問(wèn)題的解決
現(xiàn)在開(kāi)發(fā)移動(dòng)端 wap 頁(yè)面,相信大家都會(huì)使用強(qiáng)大的 rem 單位去適配各種機(jī)型和屏幕;這篇文章主要介紹了移動(dòng)端使用 rem 單位時(shí) css sprites 定位問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)2018-06-20- 本文主要介紹了CSS中px em rem區(qū)別與使用。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-27
- 相信每位前端工程師們都有這么一個(gè)體會(huì),國(guó)內(nèi)的設(shè)計(jì)師大都喜歡用px,而國(guó)外的網(wǎng)站大都喜歡用em和rem,那么三者有什么區(qū)別,又各自有什么優(yōu)劣呢?下面這篇文章小編就來(lái)給大2017-02-24
知識(shí)普及:徹底搞懂CSS中單位px和em,rem的區(qū)別
國(guó)內(nèi)的設(shè)計(jì)師大都喜歡用px,而國(guó)外的網(wǎng)站大都喜歡用em和rem,那么三者有什么區(qū)別呢?下面腳本之家小編給大家詳細(xì)介紹下2016-05-06