關(guān)于手機(jī)適配中的rem的學(xué)習(xí)隨筆

2022-06-28    分類: 網(wǎng)站建設(shè)

adaptivejs利用rem解決移動(dòng)端頁(yè)面開發(fā)的自適應(yīng)問(wèn)題
頁(yè)面模板初始化的時(shí)候不用設(shè)置viewport標(biāo)簽,由js生成。
我們?cè)趆ead標(biāo)簽的頂部引入js,按以下方法使用即可
大優(yōu)點(diǎn):
計(jì)算html元素的font-size,使1rem等于100px,方便快速開發(fā)
使用方法:
在頁(yè)面head寫入以下代碼,實(shí)時(shí)更新html的fontsize:

adaptive.js// 有縮放,精確還原設(shè)計(jì)圖

adaptive-version2.js// 沒(méi)有縮放,能快速開發(fā)的版本

window[’adaptive’].desinWidth = 640;// 設(shè)計(jì)圖寬度

window[’adaptive’].baseFont = 18;// 沒(méi)有縮放時(shí)的字體大小

window[’adaptive’].maxWidth = 480;// 頁(yè)面大寬度 默認(rèn)540

window[’adaptive’].init();// 調(diào)用初始化方法

然后在css中設(shè)置相應(yīng)樣式即可:
.main-info {
height: 0.88rem;
padding-bottom: 0.24rem;
}
.fund-info {
position: relative;
font-weight: normal;
padding: 0.2rem 0;
padding-right: 1.7rem;
padding-left: 0.23rem;
font-size: 0.32rem;
line-height: 1;
}

adaptivejs原理:
利用rem布局,根據(jù)公式

html元素字體大小 = document根節(jié)點(diǎn)(html)寬度 * 100 / 設(shè)計(jì)圖寬度

計(jì)算html元素的font-size,使1rem等于100px,方便快速開發(fā)
開發(fā)時(shí),一個(gè)div設(shè)計(jì)圖寬度為89px,那么在css中我們可以這樣書寫:width:0.89rem;
如果是文字,我們也建議使用rem

對(duì)于iphone的retina高清顯示屏,基本版本(adaptive.js)我們做了縮放處理,以達(dá)到好顯示效果。
對(duì)于快速開發(fā)版本(adaptive-version2.js),viewport的width等于設(shè)備寬度,不會(huì)縮放
注意:如果設(shè)計(jì)圖寬度大于document的寬度,0.01rem將小于1px,故如果設(shè)計(jì)圖是1px,在css中仍然用1px顯示。
可用的全局變量:window.devicePixelRatioValue 當(dāng)前頁(yè)面設(shè)置的設(shè)備像素比

優(yōu)化寬度問(wèn)題
新增大寬度,解決平板或手機(jī)橫屏?xí)r體驗(yàn)不佳的問(wèn)題
window[’adaptive’].maxWidth = 480; // 設(shè)置大寬度,默認(rèn)540px
需要css配合使用,添加如下代碼:
body {
max-width: 6.4rem; // 設(shè)計(jì)圖寬度為640px時(shí)為6.4rem ,750時(shí)為7.5rem ,以此類推
margin: 0 auto;
}
body * {
max-width: 6.4rem; // 設(shè)計(jì)圖寬度為640px時(shí)為6.4rem ,750時(shí)為7.5rem ,以此類推
}

網(wǎng)站題目:關(guān)于手機(jī)適配中的rem的學(xué)習(xí)隨筆
文章位置:http://bm7419.com/news/172573.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、建站公司外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)