移动端的开发和适配 rem

移动端的开发和适配

1.特点
相当于跑在手机端的web页面
跨平台
基于webview,webkit
更高的适配和性能要求
2.移动端适配方法
在这里插入图片描述
3.媒介查询
在这里插入图片描述

@media screen and (max-width:200px){}    //方式1
<link rel=”stylesheet” media=”screen and (min-width:992px)> //方式2   
@media not screen//排除

4.Rem(font-size of root element )

  • 根据页面根元素的字体大小
  • 公式:字体大小/html字体大小=rem
  • 例:html {font-size:62.5%} // 10px/16px*100%=62.5% 默认Font-size为16px,这里设置为10px,方便计算
    body{font-size:1.4rem} // 1.4 * 10=14px

5.动态修改font-size
javascript代码

//viewport视图宽度
var htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
//html宽度
var htmlDom = document.getElementsByTagName("html")[0];

var htmlDom.style.fontSize = htmlWidth/10+"rem";

CSS代码

@function px2rem($px){
	$rem : 37.5px;
	return ($px/$rem) + rem;
}

为什么是$rem为37.5?
关于rem的基准值,也就是上面那个37.5px其实是根据我们所拿到的视觉稿来决定的主要有以下几点原因:
1 由于我们所写出的页面是要在不同的屏幕大小设备上运行的
2 所以我们在写样式的时候必须要先已一个确定的屏幕来作为参考,这个就由我们拿到的视觉稿来定
3 假如我们拿到的视觉稿是以iphone6的屏幕为基准设计的
4 iPhone6的屏幕大小是375px,

rem = window.innerWidth  / 10

改变html的字体大小

window.addEventListener('resize',(e)=>{
	var htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
	htmlDom.style.fontSize = htmlWidth/10 + 'px';
})

6.局限
但是rem也并不是万能的,下面也有一些场景是不适于使用rem的
1 当用作图片或者一些不能缩放的展示时,必须要使用固定的px值,因为缩放可能会导致图片压缩变形等。
2 再设置backgroundposition或者backgroundsize时不宜使用rem

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值