移动端技术解决方案
1. 移动端浏览器
移动端浏览器基本以 webkit 内核 为主,因此我们就考虑 webkit 兼容性问题。
我们可以放心使用 H5 标签和 CSS3 样式 。
同时我们浏览器的私有前缀我们只需要考虑添加 webkit 即可
2. CSS初始化 normalize.css
移动端CSS 初始化推荐使用 normalize.css/
- Normalize.css:保护了有价值的默认值
- Normalize.css 修复了浏览器的 bug
- Normalize.css 是模块化的
- Normalize.css 拥有详细的文档
官网地址:http://necolas.github.io/normalize.css/
3. CSS3盒子模型 box-sizing
传统模式宽度计算:盒子的宽度 = CSS中设置的width + border + padding
CSS3盒子模型:盒子的宽度 = CSS 中设置的宽度width,里面包含了border 和 padding
也就是说,我们的CSS3 中的盒子模型,padding 和 border不会撑大盒子了。
/*CSS3盒子模型*/ box-sizing: border-box; /*传统盒子模型*/ box-sizing: content-box;
传统or CSS3 盒子模型?
- 移动端可以全部 CSS3 盒子模型。
- PC端如果完全需要兼容,我们就用传统模式,如果不考虑兼容性,我们就选择CSS3盒子模型。
4. 特殊样式
/*CSS3盒子模型*/ box-sizing: border-box; -webkit-box-sizing: border-box; /*移动端点击<a>链接时会有高亮,因此点击高亮我们需要清除 设置为 transparent 完成透明*/ -webkit-tap-highlight-color: transparent; /*在移动端浏览器默认的外观 在 iOS 上加上这个属性才能给按钮和输入框自定义样式*/ -webki- appearance: none; /*禁用长按页面时的弹出菜单*/ img,a{-webkit-touch-callout: none; }