rem、em、px的區別


px

像素(Pixel)。相對長度單位。像素px是相對於顯示器屏幕分辨率而言的。

特點:

1. IE無法調整那些使用px作為單位的字體大小;

2. 國外的大部分網站能夠調整的原因在於其使用了em或rem作為字體單位;

3. Firefox能夠調整px和em,rem,但是96%以上的中國網民使用IE瀏覽器(或內核)。

 

pt

是一個物理長度單位,指的是72分之一英寸。9pt=12px,可以依次換算。

 

em

相對長度單位,相對於當前對象內文本的字體尺寸。任意瀏覽器的默認字體高都是16px,所以未經調整的瀏覽器都符合: 1em=16px。

特點:

1. em的值並不是固定的;

2. em會繼承父級元素的字體大小。

<div style="font-size:20px;">
    <p style="font-size:1em;">這里1em=20px</p>
    <p style="font-size:2em;">這里2em=40px</p>
</div>

上面的例子就說明了em的值並非固定的,他是根據父元素的字體大小來決定的。如果父元素設置了font-size:20px,那么1em=20px,2em=40px;如果父元素設置了font-size:30px,那么1em=30px,2em=60px。依次類推。

 

rem

CSS3新增的一個相對單位,可以理解為"root em",相對於根節點html的字體大小來計算的,chrome/firefox/IE9+支持。任意瀏覽器的默認字體高都是16px,所以未經調整的瀏覽器都符合: 1rem=16px。

<html style="font-size:100px;">
<head>
    <title></title>
</head>
<body>
     <p style="font-size:1rem;">這里1rem=100px</p>
     <div style="font-size:50px;">
          <p style="font-size:2rem;">這里2rem=200px</p>
     </div>
</body>
</html>

上面的例子說明了,rem的值只受到根節點html的字體大小影響,並不受父元素字體大小的影響。如果根節點html設置了font-size:100px,那么1rem=100px,2rem=200px;如果根節點html設置了font-size:200px,那么1rem=200px,2rem=400px。依次類推。

 

rem和em在為元素設置字體大小時,都是相對大小。區別在於:使用rem時,相對的只是HTML根元素。

rem這個單位可謂集相對大小和絕對大小的優點於一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。

 

注意:

谷歌瀏覽器chrome強制最小字體為12px,因此即使設置了小於12px的值,也會顯示成12px。因此,當你給html設置font-size:10px時,1rem並不是等於10px,而是等於12px

具體使用哪種字體單位,還是要根據項目實際情況來定的。rem更加適合不用考慮低版本瀏覽器兼容問題的項目來使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM