css中px、em、rem有哪些區(qū)別-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)css中px、em、rem有哪些區(qū)別的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

目前創(chuàng)新互聯(lián)已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、渾源網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

區(qū)別:px表示像素,是相對長度單位,是相對于顯示器屏幕分辨率來設(shè)置字體大小的,不支持IE的縮放;em是相對長度單位,是相對于其父元素來設(shè)置字體大小的,支持IE的縮放;rem是相對長度單位,是相對HTML根元素來設(shè)置字體大小的。

PX,EM和REM的定義

px表示像素,不會因?yàn)槠渌氐某叽缱兓兓?/p>

像素的大小是會“變”的,也稱為“相對長度”,越高位的像素,其擁有的色板也就越豐富,越能表達(dá)顏色的真實(shí)感。

em表示相對于父元素的字體大小,em是相對單位,沒有一個固定的度量值,而是由其他元素尺寸來決定的相對值。

em是相對長度單位,相對于當(dāng)前對象內(nèi)文本的字體尺寸,如當(dāng)前對行內(nèi)文本的字體尺寸未被人為設(shè)置,則相對于瀏覽器的默認(rèn)字體尺寸,國外使用比較多。

任意瀏覽器的默認(rèn)字體高都是16px,所有未經(jīng)調(diào)整的瀏覽器都符合:1em=16px。那么12px=0.75em;10px=0.625em;為了簡化font-size的換算,需要在css中的body選擇器中聲明Font-size=62.5%,這就使em值變?yōu)椋?6px*62.5%=10px;這樣12px=1.2em;10px=1em,也就是說只需要將你的原來的px數(shù)值除以10,然后換上em作為單位就行了。

REM是相對單位,是相對HTML根元素。這個單位可謂集相對大小和絕對大小的優(yōu)點(diǎn)于一身,通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。

CSS樣式表中px、em和rem單位的特點(diǎn)

一般情況下,我們平時(shí)都是用px來定義字體,所以無法用瀏覽器字體放大的功能,而國外大多數(shù)網(wǎng)站都可以在IE下使用,這主要是因?yàn)椋?/p>

(1)、IE無法調(diào)整那些使用px作為單位的字體大?。?/p>

(2)、國外的大部分網(wǎng)站能夠調(diào)整的原因在于其使用了em作為字體單位;

(3)、Firefox能夠調(diào)整px和em,但是96%以上的中國網(wǎng)民使用IE瀏覽器(或內(nèi)核)。

那么,css單位px、em和rem的特點(diǎn)分別是什么呢?

1、px的特點(diǎn)

PX實(shí)際上就是像素,用PX設(shè)置字體大小時(shí),比較穩(wěn)定和精確。

但是這種方法存在一個問題,當(dāng)用戶在瀏覽器中瀏覽我們制作的Web頁面時(shí),如果改變了瀏覽器的縮放,這時(shí)會使用我們的Web頁面布局被打破,這樣對于那些關(guān)心自己網(wǎng)站可用性的用戶來說,就是一個大問題了。

因此,這時(shí)就提出了使用“em”來定義Web頁面的字體。

2、em的特點(diǎn)

EM就是根據(jù)基準(zhǔn)來縮放字體的大小,EM實(shí)質(zhì)是一個相對值,而非具體的數(shù)值,這種技術(shù)需要一個參考點(diǎn),一般都是以<body>的“font-size”為基準(zhǔn),如WordPress官方主題Twenntytwelve的基準(zhǔn)就是14px=1em。

通常來說,em有如下特點(diǎn):

(1)、em的值并不是固定的;

(2)、em會繼承父級元素的字體大小。

所以,我們在寫CSS的時(shí)候,需要注意以下3點(diǎn):

(1)、body選擇器中聲明Font-size=62.5%;

(2)、將你的原來的px數(shù)值除以10,然后換上em作為單位;

如果只需要以上兩步就能解決問題的話,可能就沒人用px了。經(jīng)過以上兩步,你會發(fā)現(xiàn)你的網(wǎng)站字體大得出乎想象,因?yàn)閑m的值不固定,又會繼承父級元素的大小,你可能會在content這個div里把字體大小設(shè)為1.2em, 也就是12px。

然后你又把選擇器p的字體大小也設(shè)為1.2em,但如果p屬于content的子級的話,p的字體大小就不是12px,而是1.2em= 1.2 * 12px=14.4px,這是因?yàn)閏ontent的字體大小被設(shè)為1.2em,這個em值繼承其父級元素body的大小,也就是16px * 62.5% * 1.2=12px,而p作為其子級,em則繼承content的字體高,也就是12px,所以p的1.2em就不再是12px,而是14.4px。

(3)、重新計(jì)算那些被放大的字體的em數(shù)值,避免字體大小的重復(fù)聲明。

也就是避免1.2 * 1.2 = 1.44的現(xiàn)象,比如說你在#content中聲明了字體大小為1.2em,那么在聲明p的字體大小時(shí)就只能是1em,而不是1.2em,因?yàn)榇薳m非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px。

但是12px漢字例外,就是由以上方法得到的12px(1.2em)大小的漢字在IE中并不等于直接用12px定義的字體大小,而是稍大一點(diǎn)。這個問題已經(jīng)解決,只需在body選擇器中把62.5%換成63%就能正常顯示了,原因可能是IE處理漢字時(shí),對于浮點(diǎn)的取值精確度有限,不知道有沒有其他的解釋和優(yōu)化方法(關(guān)于更多細(xì)節(jié)的優(yōu)化,可查看馬海祥博客《看看那些能提高效率卻容易被人忽略的CSS細(xì)節(jié)》的相關(guān)介紹)。

3、rem的特點(diǎn)

rem是CSS3新增的一個相對單位(root em,根em),這個單位引起了廣泛關(guān)注。

EM是相對于其父元素來設(shè)置字體大小的,這樣就會存在一個問題,進(jìn)行任何元素設(shè)置,都有可能需要知道他父元素的大小,而Rem是相對于根元素<html>,這樣就意味著,我們只需要在根元素確定一個參考值。

目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。

對于不支持它的瀏覽器,應(yīng)對方法也很簡單,就是多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設(shè)定的字體大小。

下面就是一個例子:

p {font-size:14px; font-size:.875rem;}

CSS樣式表中px、em和rem單位的區(qū)別

通常情況下,我們區(qū)分px和em的差異就是說:px是絕對單位,不支持IE的縮放,em是相對單位,支持IE的縮放,其實(shí),css單位em、px和rem的區(qū)別,詳細(xì)來說,有以下幾點(diǎn):

1、PX:像素

PX是相對長度單位,它是相對于顯示器屏幕分辨率而言的。

優(yōu)缺點(diǎn):比較穩(wěn)定和精確,但在瀏覽器中放大或縮放瀏覽頁面時(shí)會出現(xiàn)頁面混亂的情況。

2、EM

EM:是相對長度單位,EM是相對于父元素來設(shè)計(jì)字體大小的。如果當(dāng)前對行內(nèi)文本的字體尺寸未被人為設(shè)置,則相對于瀏覽器的默認(rèn)字體尺寸。

優(yōu)缺點(diǎn):EM的值并不是固定的,它會繼承父級元素的字體大小。

PX和EM的之間的相互轉(zhuǎn)換:

css中px、em、rem有哪些區(qū)別

任意瀏覽器的默認(rèn)字體高都是16px。所有未經(jīng)調(diào)整的瀏覽器都符合:1em=16px。那么,12px=0.75em,10px=0.625em。

為了使用方便,用em時(shí),我們通常在CSS中的body選擇器中聲明font-size=62.5%(使em值變?yōu)椋?6px*62.5%=10px),之后,你只需要將你使用的px值除以10,即可得到em值,如:12px=1.2em,10px=1em。

3、REM

REM是CSS3新增的一個相對單位,REM是相對單位,是相對HTML根元素。

這個單位可謂集相對大小和絕對大小的優(yōu)點(diǎn)于一身,通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。

目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。

感謝各位的閱讀!關(guān)于css中px、em、rem有哪些區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

標(biāo)題名稱:css中px、em、rem有哪些區(qū)別-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://muchs.cn/article38/ddchpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計(jì)公司域名注冊、微信公眾號、服務(wù)器托管網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名