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、如果父元素沒有指定高度,那么子元素的百分比的高度是多少?
會按照子元素的實際高度,設置百分比則沒有效果