說(shuō)到css的單位,大家應(yīng)該首先想到的是px,也就是像素,我們?cè)诰W(wǎng)頁(yè)布局中一般都是用px,但是近年來(lái)自適應(yīng)網(wǎng)頁(yè)布局越來(lái)越多,em和百分比也經(jīng)常用到了。然后隨著手機(jī)的流行,web app和hybrid app的開(kāi)發(fā),都用到了css3技術(shù),在css3中,新增了許多單位,rem、vw和vh、vmin和vmax、ch和ex等等,那現(xiàn)在對(duì)這些單位分別做一下詳細(xì)的介紹吧。
1、em
做前端的應(yīng)該對(duì)em不陌生,不是什么罕見(jiàn)的單位,是相對(duì)單位,參考物是父元素的font-size,具有繼承的特點(diǎn)。如果字體大小是16px(瀏覽器的默認(rèn)值),那么 1em = 16px。
不過(guò),這樣使用很復(fù)雜,很難很好的與px進(jìn)行對(duì)應(yīng),因此,前端開(kāi)發(fā)的前輩們總結(jié)了一個(gè)經(jīng)驗(yàn)
body {font-size: 62.5%; }
那么,這樣之后 1em = 10px 在布局等使用的時(shí)候好換算了很多。
2、百分比
百分比相信大家更不會(huì)陌生了,百分比一般寬泛的講是相對(duì)于父元素,但是并不是十分準(zhǔn)確。
1、對(duì)于普通定位元素就是我們理解的父元素
2、對(duì)于position: absolute;的元素是相對(duì)于已定位的父元素(offset parent)
3、對(duì)于position: fixed;的元素是相對(duì)于 ViewPort
viewport:可視窗口,也就是瀏覽器的window那么大。