主頁(yè) > 知識(shí)庫(kù) > 移動(dòng) web 端屏幕適配(rem)

移動(dòng) web 端屏幕適配(rem)

熱門標(biāo)簽:百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 網(wǎng)站建設(shè) 阿里云 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng) 美圖手機(jī) 智能手機(jī) 檢查注冊(cè)表項(xiàng)

前言

最近整理了一下以前學(xué)習(xí)前端的筆記,發(fā)現(xiàn)自己對(duì)移動(dòng) web 端屏幕適配(rem)這一塊并沒(méi)有真正理解,只是會(huì)用。

接下來(lái),把自己的一些對(duì)移動(dòng) web 端屏幕適配(rem)的思考記錄下來(lái)。

rem 介紹

rem 表示根元素(<html>)的 font-size 的大小。即如果根元素的 font-size 大小為 14px,則 1rem = 14px

rem 適配移動(dòng) web 端

適配效果

在不同尺寸的屏幕下,同一個(gè)元素的大小看起來(lái)不是一樣大的,但是它們所占屏幕寬度的比例是一樣的。

代碼

// 在 html 文件的 head 標(biāo)簽中
<script type="text/javascript">
  (function(){
    var html = document.documentElement;
    // 獲取屏幕寬度(px)
    var hWidth = html.getBoundingClientRect().width;
    // 設(shè)置 html 標(biāo)簽的 font-size 大小為 hWidth/15
    html.style.fontSize = hWidth/15 + 'px';
  })()
</script>
// 在 less 中
/* 定義變量@r:750/15 */
@r:50rem; 
div {
  width: 100/@r;
  height: 200/@r;
}

javascript 代碼

首先,我們將屏幕的 1/15 大小(px)復(fù)制給 html 標(biāo)簽的 font-size 屬性。此時(shí),在任何尺寸的屏幕上,屏幕尺寸(px)的 1/15 px 都等于 1rem 的大小。即:在任何尺寸的屏幕上,只要給元素設(shè)置值相同的 rem,則在所有尺寸的屏幕上該元素所占屏幕寬度的比例是一樣的,所占比例一樣,就適配了所有尺寸的屏幕。

less 代碼

現(xiàn)在只需要將設(shè)計(jì)稿中元素的 px 單位轉(zhuǎn)換為 rem 單位。

所以,這個(gè)時(shí)候,我們可以把設(shè)計(jì)稿也當(dāng)成一個(gè)具有一定尺寸的手機(jī)屏幕。
在我這個(gè)例子中,設(shè)計(jì)稿的寬度為 750px。

所以,750/15 = 50px,即在設(shè)計(jì)稿這樣尺寸的手機(jī)屏幕中,1rem = 50px。

然后,在 less 代碼中,我們定義一個(gè)變量 @r。

量得 div 的寬度為 100px,因?yàn)樵谠O(shè)計(jì)稿這樣尺寸的屏幕中,1rem = 50px,所以該 div 的 rem 的值為:100/50 rem,即 100/@r。

量得 div 的高度為 200px,因?yàn)樵谠O(shè)計(jì)稿這樣尺寸的屏幕中,1rem = 50px,所以該 div 的 rem 的值為:200/50 rem,即 200/@r。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:山南 賀州 湘潭 通遼 黃山 煙臺(tái) 懷化 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《移動(dòng) web 端屏幕適配(rem)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266