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

轉(zhuǎn)載

1.背景介紹

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

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

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

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

????所以需要我們選擇合適的單位來進(jìn)行開發(fā),設(shè)計(jì)。

2.知識(shí)剖析

????1、px

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

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

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

2、em

????????參考物是父元素的font-size,具有繼承的特點(diǎn)。如果自身定義了font-size按自身來計(jì)算(瀏覽器默認(rèn)字體是16px),整個(gè)頁面內(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.以此類推。

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

4、%

????????一般來說就是相對(duì)于父元素的,

????????1、對(duì)于普通定位元素就是我們理解的父元素

?????????2、對(duì)于position: absolute;的元素是相對(duì)于已定位的父元素?

????????3、對(duì)于position: fixed;的元素是相對(duì)于ViewPort(可視窗口),

5、vw

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

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

6、vh

????????css3新單位,view height的簡(jiǎn)寫,是指可視窗口的高度。假如高度是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)在基本上沒人用,我試了一下Chrome就用不了。

3.常見問題

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

????解決方案

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

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

4.擴(kuò)展思考

????????css還有哪些長度單位?

????????in:寸

????????cm:厘米

????????mm:毫米

????????t:point,大約1/72寸

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

5.更多問題

????1.pc pt ch一般用在什么場(chǎng)景?

????????????這些我們網(wǎng)頁設(shè)計(jì)基本上用不到,在排版上會(huì)有用處。

? ? 2.如何使 1rem=10px

????????????在設(shè)置HTML{font-size:62.5%;}即可

? ? 3.如果父元素沒有指定高度,那么子元素的百分比的高度是多少?

????????????會(huì)按照子元素的實(shí)際高度,設(shè)置百分比已經(jīng)沒有效果了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容