移动端适方案

viewport即视窗、视口,用于显示网页部分的区域,在PC端视口即是浏览器窗口区域,在移动端,为了让页面展示更多的内容,视窗的宽度默认不为设备的宽度,在移动端视窗有三个概念:布局视窗、视觉视窗、理想视窗。

布局视窗:
在浏览器窗口css的布局区域,布局视口的宽度限制css布局的宽。为了能在移动设备上正常显示那些为pc端浏览器设计的网站,移动设备上的浏览器都会把自己默认的viewport设为980px或其他值,一般都比移动端浏览器可视区域大很多,所以就有横向滚动条。

视觉视窗:
终端设备显示网页的区域。

理想视窗:
针对当前设备最理想的展示页面的视窗,不会出现横向滚动条,页面刚好全部展现在视窗内,理想视窗即终端屏幕的宽度。

viewport详细设置:
通过设置viewport可以设置页面大小,通过meta标签可以设置viewport信息。viewport有以下几个属性

width视口的宽度,正整数或设备宽度device-width(width=device-width)
height视口高度,正整数或device-height
initial-scale(initial-scale=1.0):网页初始缩放值,小数缩小,反之放大(initial-scale=1.0)
maximum-scale(maximum-scale=1.0):设置页面的最大缩放比例
minimum-scale(minimum-scale=1.0): 设置页面的最小缩放比例
user-scaleble(user-scalable=no):用户是否可以缩放
移动端默认会缩放大尺寸的页面的,当我们把上述代码去掉之后,就会随着移动端缩放的比例走,而且还可以自由放大。

自适应适配

样式采用 rem 进行自适应适配,引入 flexible.js 等可根据屏幕大小为 html 设置基础字号的工具函数。默认设计稿尺寸750px

单位

单位兼容说明
px屏幕像素
rpxrpx其实是微信对于rem的一种应用的规定,或者说一种设计的方案,官方上规定屏幕宽度为20rem,规定屏幕宽为750rpx。
upxuni-appuni-app 使用 upx 作为默认尺寸单位, upx 是相对于基准宽度的单位,可以根据屏幕宽度进行自适应。uni-app 规定屏幕基准宽度750upx。
开发者可以通过设计稿基准宽度计算页面元素 upx 值,设计稿 1px 与框架样式 1upx 转换公式如下:
设计稿 1px / 设计稿基准宽度 = 框架样式 1upx / 750upx
remrem是相对于根元素<html>,也就是说,我们只需要在根元素确定一个参考值,其他子元素的值可以根据这个参考值来转换。具体这个参考值设置为多少,完全可以根据我们自己的需求来定。
emem是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。

UniApp rem适配方案

/** flexible.js **/

上一篇
下一篇