viewport
简单的理解,viewport是严格等于浏览器的窗口。在桌面浏览器中,viewport就是浏览器窗口的宽度高度。但在移动端设备上就有点复杂。
移动端的viewport太窄,为了能更好为CSS布局服务,viewport
分为两种类型,一种被称之为visual viewport
虚拟视图,另一种则为layout viewport
布局视图。简单来说布局视图就是你手机屏幕的大小,而虚拟视图的大小则是你屏幕当前显示的部分页面。通常情况下,布局视图不会发生变化,而虚拟视图则会受页面缩放的影响变化。
因此在进行移动端开发时,一般会通过<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
进行设置,使得设备宽度等于视窗宽度,同时禁止用户进行缩放,便于更好地呈现页面效果。
除此之外,device pixels 物理像素(物理像素是物理意义上的绝对宽度)和 css pixels(css像素是一种相对像素)之间的差别也会影响到移动端页面的展示效果。
手淘的解决方案(手淘的移动端适配历史)
flexible
手淘针对存在的多种适配,选择一种尺寸作为设计和开发基准,之后前端进行适配。