rem布局实现不同分辨率移动终端的自适应、整体缩放

前言

现在手机屏幕分辨率越来越多,但我们的需求比较唯一——最佳视觉。
当用户浏览网页时,根据屏幕的尺寸,来向用户展示更适合用户的布局、文字、图片、按钮等等,因此,rem应运而生。
rem(font size of the root element)是指相对于根元素的字体大小的单位。一旦根节点html 定义的 font-size 变化,那么整个网页中运用到 rem的也会随之变化。加之当前手机淘汰速度较快,当前主流的手机内嵌浏览器内核版本均可以支持rem布局。

开撸

一般移动端的UI设计稿会采用iphone6宽度像素的尺寸作为标准——750,具体理由自行百度下,这里不再过多赘述。竖向一般不用考虑,基本是流布局,非限定一屏高度的话无影响。

本文以750设计稿为例。

第一步:设置初始rem

css file:

html{
    font-size: calc(100vw/7.5);
}

说明:
100vw是设备的宽度,除以7.5可以让1rem的大小在iPhone6下等于100px。

第二部 全局px替换为rem

替换设计稿中的px为rem,注意rem=px/100,即font-size: 12px,需要写成font-size: .12rem,其他宽度、高度、间距等同理。由于rem是相对于根节点元素大小的单位,遂当设备宽度改变时,采用rem布局的大小均会跟随相同比例变化,从而实现整体缩放。

我做了个demo,看下浏览器中的效果:

小窗口:

这里写图片描述

大窗口:

这里写图片描述

动态展示:

这里写图片描述

注:safari浏览器手动拖动不会响应,但不管初始化窗口多大,首次打开时,都是自适应的,若是手动托拽,可以配合刷新观察效果。

最后,若是低版本的设备不支持rem,那么就需要js来处理一下:

document.documentElement.style.fontSize = window.innerWidth/7.5 + 'px'

本博文demo下载地址:http://download.csdn.net/download/irokay/10181057

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值