移动端web适配

本文介绍了移动端Web适配的四种方法:固定宽度、宽度百分比、媒体查询、rem+viewport。重点讲述了rem适配方案,包括根据设计稿设定rem基准值、px转rem计算、动态设置rem大小的js监听及媒体查询。还提到了vw、vh布局的使用,以及rem与vw结合的优化策略,以实现更好的响应式布局。
摘要由CSDN通过智能技术生成

移动端web适配我了解的总共有4种方法:

  • 固定宽度
    定死页面宽度,直接写一个div把宽度订到设计稿的宽度或者你需要的宽度,然后让它居中,再在这个div盒子里进行你的页面开发,这种开发的缺点就是当遇到较大的屏幕时,屏幕的两边会流出白边,影响美观,体验不好。

  • 宽度百分比

  • 使用媒体查询
    但媒体查询一般是针对几种主流分辨率进行定制,用户体验也不能说有多好,毕竟在一些分辨率变换的瞬间,布局会突然性地变化。

  • rem+viewport
    通过采用rem单位的动态计算的弹性布局。这里详细介绍一下:

首先在做移动端开发的时候一定会加上viewport:

<meta name="viewport" content="width=width-device,initial-scale=1;minimum-scale=1,maximum-scale=1,user-scalable=no"/>
  • name=”viewport”是来告诉浏览器这个meta属性是设置设备视口的
  • content=”“是设置视口的具体内容
  • width=device-width这段代码告诉浏览器,页面的宽度就等当前设备的视口宽度,
  • initial-scale=1,代表初始的页面缩放比例为1,
  • minimum-scale=1代表缩放的最小比例为1,
  • maximum-scale=1代表缩放的最大比例为1
  • user-scalable=no代表不允许用户进行手动缩放。

但是会有如Retina屏这种高清屏幕的出现,他会把画布的大小放大到原来的2倍,也就是说现在我写的css里的1px在屏幕上展示的是2px的宽度。

为了在屏幕上仍显示1px的边框,就只能对页面进行缩小,即缩放比例设为0.5:

<meta name="viewport" content="width=width-device,initial-scale=0.5;minimum-scale=0.5,maximum-scale=0.5,user-scalable=no"/>

这里有一个新名词:缩放比,js可以通过window.devicePixelRatio来获得。比如上面提到的Retina屏幕的dpr就是2,那么我们的缩放比例设为1/2。因此我们就要动态获取设备的dpr,并设置meta:

var dpr = 1/window.devicePixelRatio;
meta.setAttribute('content', 'initial-scale=' + dpr +
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值