移动端自适应方案

作者: 蘇上方 | 来源:发表于2017-04-25 14:47 被阅读52次

问题来源

传统web开发我们一般只需要用像素去描述dom的宽高,但考虑到移动端屏幕的尺寸千奇百怪,我们希望找到一种可以根据屏幕大小去自适应宽高的方案。

原理

  • 除了font-size之外的其它css尺寸都使用了rem作为单位

方法

(1) 令页面宽度(device-width)等于设备逻辑像素,其中,device-width = 物理像素 / (dpr * scale) , 所以,我们只需根据手机的 dpr 动态的去设置 scale

var scale = 1 / devicePixelRatio;
document.querySelector('meta[name="viewport"]')
.setAttribute('content','initial-scale=' + scale + ', 
maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no')

(2) 令页面 <html>font-sizefont-size = deviceWidth / 10 + 'px' .

document.documentElement.style.fontSize = 
document.documentElement.clientWidth / 10 + 'px';

(3) 计算元素的尺寸
通过步骤二将视觉稿的页面分成10等分( 设置成10只是为了方便计算,这里实际上可以选择自己要分的份数 ),假设视觉稿是按照 360p 给的尺寸,那么我们 1rem 就表示 36 px , 那么当一个元素的尺寸为 72px * 36px , 我们对于的rem尺寸应该是 2rem * 1rem
(4) 字体可能需要额外的媒体查询

div {
    width: 1rem; 
    height: 0.4rem;
    font-size: 12px; // 默认写上dpr为1的fontSize
}

[data-dpr="2"] div {
    font-size: 24px;
}

[data-dpr="3"] div {
    font-size: 36px;
}

注:

  • 懒人可以使用淘宝的库
    https://github.com/amfe/lib-flexible
  • 使用 sublime 的同学可以下载 cssrem这个插件,让你编码速度快到飞起.
    参考这里 http://www.cnblogs.com/olivianate/p/5328716.html
{
    "px_to_rem": 108, # 一般设置为 视觉稿 / 10
    "max_rem_fraction_length": 2,
    "available_file_types": [".css", ".less", ".sass"]
}

相关文章

  • 可伸缩布局flexible

    gitHub地址: GitHub - amfe/lib-flexible: 可伸缩布局方案 移动端自适应方案,相关...

  • 移动端rem自适应方案

    移动端rem自适应方案传送门https://segmentfault.com/a/1190000012225828

  • flexible

    移动端自适应方案 flexible github: https://github.com/amfe/lib-fle...

  • 记一次前端技术分享(移动端相关概念讲解)

    移动端开发中的相关概念讲解 1、移动端自适配方案 移动端如何根据不同手机尺寸进行页面的适配 rem 自适应和 vw...

  • 移动端自适应解决方案

    移动端自适应解决方案 谈到移动端自适应这个话题,如果要真正做好,那应该说是前端开发中的一个比较难以掌握的知识点了。...

  • 移动端自适应方案

    问题来源 传统web开发我们一般只需要用像素去描述dom的宽高,但考虑到移动端屏幕的尺寸千奇百怪,我们希望找到一种...

  • 移动端自适应方案

    自适应需要从以下几个方面入手:布局、字体、retina带来的问题 一、布局: 1. 用%做单位老方案,兼容性高在制...

  • 移动端自适应方案

    一、基础原理 1.基准值 (1)选择一种尺寸作为设计和开发的基准。(2)定义适配规则,自动适配其他屏幕下的尺寸。 ...

  • 移动端自适应方案

    绑定浏览器缩放和加载事件,动态修正跟字体大小

  • 移动端自适应方案

    移动端适配的目标是让页面在移动设备上可以合理展示 viewport缩放方案 在对设计稿还原时,不需要去关注移动设备...

网友评论

    本文标题:移动端自适应方案

    本文链接:https://www.haomeiwen.com/subject/tajvzttx.html