1. 程式人生 > 實用技巧 >css-px,rem,em,vw,vh的區別

css-px,rem,em,vw,vh的區別

px rem em vw vh有什麼區別?

px

px就是pixel畫素的縮寫,相對長度單位,網頁設計常用的基本單位。畫素px是相對於顯示器螢幕解析度而言的

em

em是相對長度單位。相對於當前物件內文字的字型尺寸(參考物是父元素的font-size)

如當前父元素的字型尺寸未設定,則相對於瀏覽器的預設字型尺寸

特點:

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

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

rem

rem是CSS3新增的一個相對單位,rem是相對於HTML根元素的字型大小(font-size)來計算的長度單位

如果你沒有設定html的字型大小,就會以瀏覽器預設字型大小,一般是16px

html{font-size: 62.5%}  /* 10 ÷ 16 × 100% = 62.5% */

body{font-size: 1.4rem;} /* 1.4 × 10px = 14px */

/*在根元素中定義了一個基本字型大小為62.5%(也就是10px。設定這個值主要方便計算,如果沒有設定,將是以“16px”為基準 )*/

優點是,只需要設定根目錄的大小就可以把整個頁面的成比例的調好

rem相容性:除了IE8及更早版本外,所有瀏覽器均已支援rem

em與rem的區別:

rem是相對於根元素(html)的字型大小,而em是相對於其父元素的字型大小

兩者使用規則:

如果這個屬性根據它的font-size進行測量,則使用em
其他的一切事物屬性均使用rem
這裡提供了一個px、em、rem單位的轉換工具:轉換工具

vw、vh

vw、vh、vmax、vmin這四個單位都是基於視口

vw是相對視口(viewport)的寬度而定的,長度等於視口寬度的1/100

假如瀏覽器的寬度為200px,那麼1vw就等於2px(200px/100)

vh是相對視口(viewport)的高度而定的,長度等於視口高度的1/100

假如瀏覽器的高度為500px,那麼1vh就等於5px(500px/100)

vmin和vmax是相對於視口的高度和寬度兩者之間的最小值或最大值

如果瀏覽器的高為300px、寬為500px,那麼1vmin就是3px,1vmax就是5px;如果瀏覽器的高為800px,寬為1080px,那麼1vmin也是8px,1vmax也是10.8px

其他單位:

%(百分比)

一般來說就是相對於父元素

1、對於普通定位元素就是我們理解的父元素

2、對於position: absolute;的元素是相對於已定位的父元素

3、對於position: fixed;的元素是相對於ViewPort(可視視窗)

vm

css3新單位,相對於視口的寬度或高度中較小的那個

其中最小的那個被均分為100單位的vm

比如:瀏覽器高度900px,寬度1200px,取最小的瀏覽器高度,1 vm = 900px/100 = 9 px

缺點:相容性差

常見問題:

1、假如使用em來設定文字大小要注意什麼?

注意父元素的字型大小,因為em是根據父元素的大小來設定的。

比如同樣是1.5em,要是父元素是20,那1.5em就是30px.要是父元素是30px,1.5em就是45px(特別是在多重div巢狀裡面更要注意)

2、pc pt ch一般用在什麼場景?

這些我們網頁設計基本上用不到,在排版上會有用處

3、如何使 1rem=10px

在設定HTML{font-size:62.5%;}即可

4、如果父元素沒有指定高度,那麼子元素的百分比的高度是多少?

會按照子元素的實際高度,設定百分比則沒有效果