视口(viewpoint)
视口就是历览器显示页面内容的屏幕区域,视口可以分为布局视口、视觉视口和理想视口
布局视口(layout viewpoint)
一般移动设备浏览器都默认设置了一个布局视口,用于解决PC端页面在手机上显示的问题
即 pc端网页大多都能在手机上呈现,只是元素看上去很小,一般默认可以通过手动缩放网页
视觉视口(visual viewpoint)
用户所看到的网站的区域
网页是pc端大小,但是手机端可以看见一部分,用户可以缩放网页,不会影响布局视口,布局视口仍然保持原来的宽度
理想视口(idea viewpoint)
理想视口就是将布局视口的宽度改成视觉视口
meta标签
- meta标签为视口标签,视口标签的主要目的是,布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,我们布局的视口就有多宽
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, maximun-scale=1.0, minimun=1.0">
属性 | 解释说明 |
---|---|
width | 宽度设置的是viewpoint宽度,值可以为device-width –>设备的宽度 |
initial-scale | 初始缩放比,大于0的数字 |
maximum | 最大缩放比,大于0的数字 |
minimum | 最小 |
user-scalable | 用户是否可以缩放,yes或no(1或0) |
最标准的viewport设置
- 视口宽度和设备保持一致
- 视口的默认缩放比例1.0
- 不允许用户自行缩放
- 最大允许的缩放比例1.0
- 最小允许的缩放比例1.0
二倍图
- 物理像素:即屏幕实际分辨率
- 在iPhone8中,1px=2个物理像素(即:50px的图片放到iPhone8上,width会变成100px)
- 在标准的viewport设置中,使用倍图来提高图片质量,解决在高清设备中的模糊问题
背景缩放
background-size
属性规定背景图像的尺寸
属性值分别有四个:length
百分比
cover
contain
length与百分比:用于设置宽高,如果只写一个,另一个值为auto
cover:把背景图片扩展至足够大,以使背景图像完全覆盖背景区域
contain:把图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域(如果宽高任意一个值达到界点,则不在拉伸背景)
移动端技术解决方案
兼容性
- 移动端浏览器基本以 webkit 内核为主,因此我们就考虑webkit兼容性问题。
- 可以放心使用 H5 标签和 CSS3 样式。
- 浏览器的私有前缀只需要考虑添加 webkit 即可
移动端公共样式
- 移动端 CSS 初始化推荐使用 normalize.css
- 下载地址:normalize
- 可大量使用css3盒子模型
box-sizing
移动端特殊样式
/*CSS3盒子模型*/
box-sizing: border-box;
-webkit-box-sizing: border-box;
/*点击高亮我们需要清除清除 设置为transparent 完成透明*/
-webkit-tap-highlight-color: transparent;
/*在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮和输入框自定义样式*/
-webkit-appearance: none;
/*禁用长按页面时的弹出菜单*/
img,a { -webkit-touch-callout: none; }