前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >02移动端布局

02移动端布局

作者头像
用户1148399
发布2018-01-09 16:04:41
8420
发布2018-01-09 16:04:41
举报
文章被收录于专栏:web前端web前端

  一、rem

     1、意义:当px固定宽度不能适应不同屏幕尺寸时,布局需要,从而产生rem

     2、rem 和 em 区别

          2.1 rem: root,以根节点(html)作为参照的尺寸

          2.2 em: 根据父级font-size确定大小     1em = 1font-size(父级的 )

     3、随着屏幕宽度的变化,改变HTML根元素font-size,从而控制rem值,从而达到相应效果(其他HTML子元素width等都是rem)

function autoRem(){
    var html = document.documentElement;     //documentElement返回文档根节点html
    var htmlWidth = html.getBoundingClientRect().width;     //getBoundingClientRect().width 包括width + padding * 2 + border * 2
    html.style.fontSize = htmlWidth / 16 + 'px';     //16 是根据自己页面设定,非固定使用,以方便后续计算为准(iPhone5中320屏幕,刚好可以整除,一个屏幕刚好16rem)
}
//从此,假设iPhone5测试,则html的font-size = 320 / 60 = 20px     则 1rem = 20px

二、使用LESS计算rem

     1、less使用方法:

          1.1 安装less运行环境(less是css预编译器,但是浏览器等没有其编译环境,需要将其编译成css文件,从而间接使用css)

               1.1.1 npm install -g less    详见less中文网

          1.2 完成less环境安装之后在本地书写需要的less文件,比如style.less

          1.3 打开命令窗口,切换到less文件所在文件夹,编译less成相应css文件     lessc style.less style.css     (lessc  less文件名 css文件名)

     2、利用less计算能力,计算rem

@r: 10rem;
.main{
    width: 400/@r;     //400px---->40rem
}

三、利用border-sizing布局

     1、量尺寸时,width包含住border等,然后正常设置border

     2、border-sizing: border-box;     //让border在width范围内绘制(content包含了width + padding + border)

下章续。。。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档