px、em、rem、%、vw、vh、vm這些單位的區(qū)別

2018-5-9    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里

1.背景介紹


我們?yōu)槭裁匆x擇合適的網(wǎng)頁(yè)設(shè)計(jì)單位


隨著Web的發(fā)展,對(duì)新的解決方案的需求也會(huì)繼續(xù)增大,對(duì)網(wǎng)頁(yè)的要求更高。


網(wǎng)頁(yè)設(shè)計(jì)單位是涉及到我們布局的效果,使用不同的單位會(huì)對(duì)最終的demo,會(huì)有影響。


現(xiàn)在都是要求響應(yīng)式設(shè)計(jì),需要適配各種設(shè)備,電腦,手機(jī),平板。如果單位不合適,可能在這個(gè)設(shè)備顯示良好,那個(gè)設(shè)備就會(huì)打亂布局。


所以需要我們選擇合適的單位來(lái)進(jìn)行開(kāi)發(fā),設(shè)計(jì)。
2.知識(shí)剖析


1、px


px就是pixel的縮寫(xiě),意為像素。px就是設(shè)備或者圖片最小的一個(gè)點(diǎn),比如常常聽(tīng)到的電腦像素是1024x768的,表示的是水平方向是1024個(gè)像素點(diǎn),垂直方向是768個(gè)像素點(diǎn)。


是我們網(wǎng)頁(yè)設(shè)計(jì)常用的單位,也是基本單位。通過(guò)px可以設(shè)置固定的布局或者元素大小,缺點(diǎn)是沒(méi)有彈性。


特點(diǎn)是1. em的值并不是固定的; 2. em會(huì)繼承父級(jí)元素的字體大小。




2、em


參考物是父元素的font-size,具有繼承的特點(diǎn)。如果自身定義了font-size按自身來(lái)計(jì)算(瀏覽器默認(rèn)字體是16px),整個(gè)頁(yè)面內(nèi)1em不是一個(gè)固定的值。
特點(diǎn)是1. em的值并不是固定的; 2. em會(huì)繼承父級(jí)元素的字體大小。
3、rem


rem是相對(duì)于根元素html,這樣就意味著,我們只需要在根元素確定一個(gè)參考值,可以設(shè)計(jì)HTML為大小為10px,到時(shí)設(shè)置1.2rem就是12px.以此類(lèi)推。


優(yōu)點(diǎn)是,只需要設(shè)置根目錄的大小就可以把整個(gè)頁(yè)面的成比例的調(diào)好。


4、%


一般來(lái)說(shuō)就是相對(duì)于父元素的,


1、對(duì)于普通定位元素就是我們理解的父元素 2、對(duì)于position: absolute;的元素是相對(duì)于已定位的父元素 3、對(duì)于position: fixed;的元素是相對(duì)于ViewPort(可視窗口),
5、vw


css3新單位,view width的簡(jiǎn)寫(xiě),是指可視窗口的寬度。假如寬度是1200px的話。那10vw就是120px


舉個(gè)例子:瀏覽器寬度1200px, 1 vw = 1200px/100 = 12 px。


6、vh


css3新單位,view height的簡(jiǎn)寫(xiě),是指可視窗口的高度。假如高度是1200px的話。那10vh就是120px


舉個(gè)例子:瀏覽器高度900px, 1 vh = 900px/100 = 9 px。


7、vm


css3新單位,相對(duì)于視口的寬度或高度中較小的那個(gè)。其中最小的那個(gè)被均分為100單位的vm 舉個(gè)例子:瀏覽器高度900px,寬度1200px,取最小的瀏覽器高度,1 vm = 900px/100 = 9 px。


兼容性太差 ,現(xiàn)在基本上沒(méi)人用,我試了一下Chrome就用不了。


3.常見(jiàn)問(wèn)題


假如使用em來(lái)設(shè)置文字大小要注意什么?


4.解決方案


注意父元素的字體大小,因?yàn)閑m是根據(jù)父元素的大小來(lái)設(shè)置的。比如同樣是1.5em,要是父元素是20,那1.5em就是30px.要是父元素是30px,1.5em就是45px.


特別是在多重div嵌套里面更要注意。


5.擴(kuò)展思考


css還有哪些長(zhǎng)度單位?


in:寸


cm:厘米


mm:毫米


t:point,大約1/72寸


pc:pica,大約6pt,1/6寸


6.更多問(wèn)題
1.pc pt ch一般用在什么場(chǎng)景?
這些我們網(wǎng)頁(yè)設(shè)計(jì)基本上用不到,在排版上會(huì)有用處。


2.如何使 1rem=10px
在設(shè)置HTML{font-size:62.5%;}即可


3.如果父元素沒(méi)有指定高度,那么子元素的百分比的高度是多少?
會(huì)按照子元素的實(shí)際高度,設(shè)置百分比已經(jīng)沒(méi)有效果了。
藍(lán)藍(lán)設(shè)計(jì)sillybuy.com )是一家專(zhuān)注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)


分享本文至:

日歷

鏈接

個(gè)人資料

存檔