移动端开发方案
-
单独移动端页面(主流)
通常情况下,网址域名前面加 m(mobile) 可以打开移动端。通过判断设备,如果是移动设备打开,则跳到移动端页面。
比如:京东商城手机版、淘宝触屏版、苏宁易购手机版 -
响应式兼容PC移动端
比如:三星电子官网:www.samsung.com/cn/
,通过判断屏幕宽度来改变样式,以适应不同终端。
缺点:制作麻烦, 需要花很大精力去调兼容性问题
移动端技术解决方案
-
移动端浏览器
移动端浏览器基本以 webkit 内核为主,因此我们就考虑webkit兼容性问题。
我们可以放心使用 H5 标签和 CSS3 样式。
同时我们浏览器的私有前缀我们只需要考虑添加 webkit 即可 -
CSS初始化 normalize.css
移动端 CSS 初始化推荐使用 normalize.css
Normalize.css:保护了有价值的默认值
Normalize.css:修复了浏览器的bug
Normalize.css:是模块化的
Normalize.css:拥有详细的文档
官网地址: http://necolas.github.io/normalize.css/ -
CSS3 盒子模型 box-sizing
(1)传统模式宽度计算:盒子的宽度 = CSS中设置的width + border + padding
(2)CSS3盒子模型:盒子的宽度 = CSS中设置的宽度width
(里面包含了 border 和 padding)
也就是说,我们的CSS3中的盒子模型, padding 和 border 不会撑大盒子了
注意:
(1)移动端可以全部CSS3 盒子模型
(2)PC端如果完全需要兼容,我们就用传统模式,如果不考虑兼容性,我们就选择 CSS3 盒子模型 -
特殊样式
/*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; }
移动端常见布局
移动端技术选型
单独制作移动端页面(主流) | 响应式页面兼容移动端(其次) |
---|---|
流式布局(百分比布局)、flex 弹性布局(强烈推荐、less+rem+媒体查询布局混合布局 | 媒体查询、bootstarp |
流式布局(百分比布局)
- 流式布局,就是百分比布局,也称非固定像素布局。
- 通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充。
- 流式布局方式是移动web开发使用的比较常见的布局方式。
- max-width 最大宽度 (max-height 最大高度)
- min-width 最小宽度 (min-height 最小高度)
PS:
二倍精灵图做法
- 在firework里面把精灵图等比例缩放为原来的一半
- 之后根据大小 测量坐标(在左下角位置输入想要的宽高,会自动显示位置)
- 注意代码里面background-size也要写: 精灵图原来宽度的一半
图片格式
DPG图片压缩技术:京东自主研发推出DPG图片压缩技术,经测
试该技术,可直接节省用户近50%的浏览流
量,极大的提升了用户的网页打开速度。
webp 图片格式:谷歌开发的一种旨在加快图片加载速度的图
片格式。图片压缩体积大约只有JPEG的2/3
,并能节省大量的服务器宽带资源和数据空
间