一步步教你使用rem適配不同屏幕的移動(dòng)設(shè)備

1.先說(shuō)說(shuō)幾個(gè)前端常用的幾個(gè)單位的概論:

  • 1、px (pixel,像素):是一個(gè)虛擬長(zhǎng)度單位直晨,是計(jì)算機(jī)系統(tǒng)的數(shù)字化圖像長(zhǎng)度單位,如果px要換算成物理長(zhǎng)度膨俐,需要指定精度DPI(Dots Per Inch抡秆,每英寸像素?cái)?shù)),在掃描打印時(shí)一般都有DPI可選吟策。Windows系統(tǒng)默認(rèn)是96dpi儒士,Apple系統(tǒng)默認(rèn)是72dpi。
  • 2檩坚、em(相對(duì)長(zhǎng)度單位着撩,相對(duì)于當(dāng)前對(duì)象內(nèi)文本的字體尺寸):是一個(gè)相對(duì)長(zhǎng)度單位诅福,最初是指字母M的寬度,故名em⊥闲穑現(xiàn)指的是字符寬度的倍數(shù)氓润,用法類似百分比,如:0.8em, 1.2em,2em等薯鳍。通常1em=16px咖气。
  • 3、pt (point挖滤,磅):是一個(gè)物理長(zhǎng)度單位崩溪,指的是72分之一英寸。pt=1/72(英寸), px=1/dpi(英寸)
  • 4斩松、rem(root em伶唯,根em):是CSS3新增的一個(gè)相對(duì)單位,這個(gè)單位引起了廣泛關(guān)注惧盹。這個(gè)單位與em有什么區(qū)別呢乳幸?區(qū)別在于使用rem為元素設(shè)定字體大小時(shí),相對(duì)大小對(duì)比的是HTML根元素钧椰。這個(gè)單位可謂集相對(duì)大小和絕對(duì)大小的優(yōu)點(diǎn)于一身粹断,通過(guò)它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)嫡霞。目前姿染,除了IE8及更早版本外,所有瀏覽器均已支持rem秒际。對(duì)于不支持它的瀏覽器悬赏,應(yīng)對(duì)方法也很簡(jiǎn)單,就是多寫一個(gè)絕對(duì)單位的聲明娄徊。這些瀏覽器會(huì)忽略用rem設(shè)定的字體大小闽颇。

2.開始進(jìn)入rem教程

1.先設(shè)置header里面的meta標(biāo)簽:

<meta name="viewport" content="initial-scale=1,maximum-scale=1, minimum-scale=1">

2.在header寫上<script>標(biāo)簽

<script type="text/javascript">
  document.documentElement.style.fontSize = document.documentElement.clientWidth / 640*100 + 'px';
</script>

問(wèn)題:為什么要設(shè)置Html的font-size?

答:這里是設(shè)置html標(biāo)簽的font-size寄锐,上面概論紅色字寫的很清晰兵多,頁(yè)面元素使用rem單位時(shí),是相對(duì)于這個(gè)html標(biāo)簽的font-size的大小為基礎(chǔ)的橄仆。

問(wèn)題:為什么是clientWidth/640?為什么要乘以100剩膘?

答:

  1. 是因?yàn)檫@里是作為一個(gè)基礎(chǔ)數(shù)值,換個(gè)方向去想盆顾,這里先不乘以100以免產(chǎn)生誤解怠褐。

例如:設(shè)計(jì)稿寬度是640px,有一個(gè)元素設(shè)計(jì)稿上的寬度是50px您宪,設(shè)備物理寬度是320px,那么我們?cè)陧?yè)面上應(yīng)該設(shè)置寬度為 width:50rem奈懒,相當(dāng)于寬度是:50*(320/640)=25px奠涌;這里能正確算出在320px的設(shè)備上剛好占一半,其實(shí)可以想象為 rem=(320/640)。

  1. 一般瀏覽器的最小字體是12px磷杏,如果html的font-size=(320/640)px溜畅,相當(dāng)于font-size=0.5px,那么這個(gè)數(shù)值就小于12px极祸,會(huì)造成一些計(jì)算的錯(cuò)誤慈格,和一些奇怪的問(wèn)題,*100后遥金,font-size是50px浴捆,就可以解決這種字體小于12px的問(wèn)題。

  2. 為了計(jì)算方便 我們后面把比率乘以了100汰规,(320/640)*100汤功,那么相對(duì)應(yīng)這個(gè)元素在設(shè)置數(shù)值的時(shí)候就需要除以100了(50/100),這樣可以保證最后出來(lái)的數(shù)值不變.

3.設(shè)置好html的font-size,那么我們下面就可以開始編寫根據(jù)設(shè)計(jì)稿的例子了物邑。

設(shè)計(jì)稿是640px溜哮,有一個(gè)紅色盒子寬高都是320px,里面的文字是32px色解,那么下面是這個(gè)例子的代碼茂嗓。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1, minimum-scale=1">
    <script type="text/javascript">
        document.documentElement.style.fontSize = document.documentElement.clientWidth / 640*100 + 'px';
    </script>
</head>
<body style="margin: 0 ;padding: 0;font-size: 0.32rem">
<div style="width: 3.2rem;height: 3.2rem ;background: red">
    <span>danny.xie</span>
</div>
</body>
</html>

1.在iphone5下的情況,設(shè)備的物理像素是320px

1.在iphone6下的情況科阎,設(shè)備的物理像素是375px

可以看到字體的大小和紅色盒子的寬高跟設(shè)計(jì)稿上面的比例是保持一致的述吸,這樣就是rem適配不同設(shè)備的的基本用法,如上文有錯(cuò)誤锣笨,歡迎指出和討論蝌矛,十分感謝。

求點(diǎn)贊错英,求關(guān)注~


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末入撒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子椭岩,更是在濱河造成了極大的恐慌茅逮,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件判哥,死亡現(xiàn)場(chǎng)離奇詭異献雅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)塌计,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門挺身,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人锌仅,你說(shuō)我怎么就攤上這事瞒渠×颊簦” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵伍玖,是天一觀的道長(zhǎng)嫩痰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)窍箍,這世上最難降的妖魔是什么串纺? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮椰棘,結(jié)果婚禮上纺棺,老公的妹妹穿的比我還像新娘。我一直安慰自己邪狞,他們只是感情好祷蝌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著帆卓,像睡著了一般巨朦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剑令,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天糊啡,我揣著相機(jī)與錄音,去河邊找鬼吁津。 笑死棚蓄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碍脏。 我是一名探鬼主播梭依,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼典尾!你這毒婦竟也來(lái)了役拴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤急黎,失蹤者是張志新(化名)和其女友劉穎扎狱,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勃教,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淤击,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了故源。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片污抬。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出印机,到底是詐尸還是另有隱情矢腻,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布射赛,位于F島的核電站多柑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏楣责。R本人自食惡果不足惜竣灌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秆麸。 院中可真熱鬧初嘹,春花似錦、人聲如沸沮趣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)房铭。三九已至驻龟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間育叁,已是汗流浹背迅脐。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工芍殖, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豪嗽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓豌骏,卻偏偏與公主長(zhǎng)得像龟梦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子窃躲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容