移动端布局

rem布局

rem布局简单来说就是根据页面的font-size的大小来设置页面元素的属性;
1.计算公式: 元素的宽度(或高度) / html元素(跟标签)的font-size = rem;
2.举例 元素的宽度是 200px, html的font-size是100px, 那么元素宽度的rem大小 = 200/100 = 2rem
js代码:

 function resetWidth() {
            // 兼容ie浏览器 document.body.clientWidth
            var baseWidth = document.documentElement.clientWidth || document.body.clientWidth;
            console.log(baseWidth);
            // 默认的设置是375px(ip6)的根元素设为100px, 其他的手机都相对这个进行调整
            document.documentElement.style.fontSize = baseWidth / 375 * 100 + 'px'
        }
        resetWidth();
        window.addEventListener('resize', function () {
            resetWidth();
        })

加上下面代码防止影响默认字体大小

document.body.style.fontSize = '15px';

使用flexible布局

github地址:https://github.com/amfe/lib-flexible
官方文档地址:https://github.com/amfe/article/issues/17
本文中有部分内容引至上面这个文档。
cdn地址

<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.2/??flexible_css.js,flexible.js"
></script>

如果你用的是其他编辑器或者IDE,就可以用CSS的处理器来处理,比如说Sass、LESS以及PostCSS这样的处理器。

  @function px2rem($px) {
    @return $px / 75 * 1rem;
}

字体不使用rem的方法

@mixin font-dpr($font-size) {
    font-size: $font-size;
    [data-dpr="2"] & {
        font-size: $font-size * 2;
    }
    [data-dpr="3"] & {
        font-size: $font-size * 3;
    }
}

本人学识有限 文章多有不足

若有错误 请大方指出 以免误导他人

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,870评论 1 92
  • 一、meta标签的效果 移动端页面一般会在head头部添加如下meta标签。 该meta标签是否添加对页面渲染的影...
    nimw阅读 3,683评论 0 5
  • 一、下面我将简单的介绍移动端布 局的八种方式: 1.固定布局 2.流动布局 3.浮动布局 4.定位布局 5.混合布...
    李好Ario阅读 1,591评论 0 8
  • 百分比与固定高度布局 前提是device-width为理想视口,然后通过水平方向百分比布局或者弹性布局,垂直方向一...
    熊文城阅读 349评论 0 0
  • 真正的大人物需要具备七种素质,第一,明确的目标和持久的热情。第二,找到角色,实现自我。第三,了解自己和自己的文化。...
    毛攀阅读 296评论 0 0