制作的网页除了在PC端浏览,在现在移动端量巨大的时代下,如何做好PC端与移动端的自适应,是每个程序必须要需要考虑的事情。
举例
下面是没有加适应的情况:
PC端:
移动端(iPhone 6/7/8为例):
可见在移动端非常不便于阅读!
解决方案
在网页的<head>中增加以下代码,让网页的宽度自动适应手机屏幕的宽度
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
- width=device-width :表示宽度是设备屏幕的宽度
- height=device-height :表示宽度是设备屏幕的宽度
- initial-scale=1.0:表示初始的缩放比例(初始规模为1.0倍,即原始大小)
- minimum-scale=0.5:表示最小的缩放比例
- maximum-scale=2.0:表示最大的缩放比例
- user-scalable=yes或者1:表示用户是否可以调整缩放比例(no或者0:表示不可调整缩放比例)
- target-densitydpi:一个屏幕像素密度是由屏幕分辨率决定的,通常定义为每英寸点的数量(dpi)。Android支持三种屏幕像素密度:低像素密度,中像素密度,高像素密度。一个低像素密度的屏幕每英寸上的像素点更少,而一个高像素密度的屏幕每英寸上的像素点更多。Android Browser和WebView默认屏幕为中像素密度。
下面是 target-densitydpi 属性的 取值范围
- device-dpi –使用设备原本的 dpi 作为目标 dp。 不会发生默认缩放。
- high-dpi – 使用hdpi 作为目标 dpi。 中等像素密度和低像素密度设备相应缩小。
- medium-dpi – 使用mdpi作为目标 dpi。 高像素密度设备相应放大, 像素密度设备相应缩小。 这是默认的target density.
- low-dpi -使用mdpi作为目标 dpi。中等像素密度和高像素密度设备相应放大。
- <value> – 指定一个具体的dpi 值作为target dpi. 这个值的范围必须在70–400之间。
下面是加适应的情况: