最近写的一个移动端项目:上海 地铁指路通,之间遇到的一些问题,记录下来(以后会不断补充的):

1. 丰富的页面Meta:

1.1: 控制显示区域各种属性:

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
  • width                - viewport的宽度
  • height               - viewport的高度
  • initial-scale         - 初始的缩放比例
  • minimum-scale    - 允许用户缩放到的最小比例
  • maximum-scale   - 允许用户缩放到的最大比例
  • user-scalable       - 用户是否可以手动缩放

1.2:IOS中Safari允许全屏浏览:

<meta content="yes" name="apple-mobile-web-app-capable">

1.3:IOS中Safari顶端状态条样式:

<meta content="black" name="apple-mobile-web-app-status-bar-style">

1.4:忽略将数字变为电话号码:

<meta content="telephone=no" name="format-detection">

2. CSS相关:

2.1:  img自适应:

img {max-width: 100%;height: auto;width: auto9; /* ie8 */ -ms-interpolation-mode:bicubic; /* 这个在做实时缩放图片、缩略图的时候用处挺大。可以解决缩放失真问题。 IE7 Only */}

2.2:隐藏被旋转的 div 元素的背面,如果在旋转元素不希望看到其背面时,该属性很有用。 for 转场闪屏问题:

div {
backface-visibility:hidden;
-webkit-backface-visibility:hidden; /* Chrome 和 Safari */
-moz-backface-visibility:hidden; /* Firefox */
-ms-backface-visibility:hidden; /* Internet Explorer */
}

 2.3: @-webkit-keyframes可以预定义很多你所想到的动画,然后通过-webkit-transition来调用。比如:

@-webkit-keyframes fadein{
from{opacity:; }
to{opacity:; }
}
@-moz-keyframes fadein{
from{opacity:; }
to{opacity:; }
}
@-o-keyframes fadein{
from{opacity:; }
to{opacity:; }
}
@keyframes fadein{
from{opacity:; }
to{opacity:; }
} img {-moz-animation: fadein 350ms ease-out;-webkit-animation: fadein 350ms ease-out;-o-animation: fadein 350ms ease-out;animation: fadein 350ms ease-out;} /*以上css可以实现加载页面时,图片透明度变化的动画效果*/

2.4: -webkit-tap-highlight-color:rgba(255,255,255,0) 可以同时屏蔽ios和Android下点击元素时出现的阴影。
备注:transparent的属性值在android下无效。

a,button,input{-webkit-tap-highlight-color: rgba(255,0,0,0);}

2.5:-webkit-appearance:none 可以同时屏蔽输入框怪异的内阴影,解决iOS下无法修改按钮样式,测试还发现一个小问题就是,加了上面的属性后,iOS下默认还是带有圆角的,不过可以使用 border-radius属性修改。

input{-webkit-appearance: none;} /*去除iphone自带样式*/

2.6:IOS禁止横竖屏时字体变大,-webkit-text-size-adjust: none;

2.7:除了BODYHTML的滚动条,在触屏下几乎所有浏览器都不支持DIV的滚动条(说几乎是因为新版的IOS已经支持):解决方法我知道的有2种,一种是iscroll.js。另一种是安卓4和IOS5+都可以使用 CSS3的新属性 -Webkit-overflow-scrolling: touch; 来解决.

div {-Webkit-overflow-scrolling: touch;}

2.8:移动端click事件有300ms延迟。建议使用tap事件代替。还有建议使用zepto.js代替jquery.js。

2.9:media query 条件:

iPhone < 5:
@media screen and (device-aspect-ratio: 2/3) {} iPhone 5:
@media screen and (device-aspect-ratio: 40/71) {} iPad:
@media screen and (device-aspect-ratio: 3/4) {}

暂时想起来这么多,以后再不断补充。。

以上只是我个人的总结,如果你有更好的建议,请留言,一起共勉进步!!- -!

移动端Web开发笔记的更多相关文章

  1. 【前端】移动端Web开发学习笔记【2】 & flex布局

    上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...

  2. 【前端】移动端Web开发学习笔记【1】

    下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...

  3. 移动端 Web 开发前端知识整理

    文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...

  4. 移动端web开发的一些知识点

    整理一下自己平时移动端web开发中遇到的问题,也参考一下前辈的一些总结 1.最常见的要数1像素边框了 因为Retine屏的分辨率始终是普通屏幕的2倍,1px的边框在dpr=2的retina屏下会显示成 ...

  5. 移动端web开发基础概念

    最近在了解移动端web开发的相关知识,有些概念总是模糊不清,这次花费了一些时间整体的梳理了一遍. 分辨率 分辨率可以从显示分辨率与图像分辨率两个方向来分类.显示分辨率(屏幕分辨率)是屏幕图像的精密度, ...

  6. 移动端Web开发注意点

    不用考虑浏览器兼容性 移动端开发主要对象是手持设备,其中绝大部分是IOS和Android系统,so,在开发此类页面时不必纠结IE和其他一些2B浏览器的兼容性,webkit是本次开发重点. 当然,不同版 ...

  7. 移动端Web开发如何处理横竖屏

    <!Doctype html> <html> <head> <meta charset="utf-8"> <meta id=& ...

  8. 移动端web开发技巧(转)

    原文链接:http://liujinkai.com/2015/06/06/mobile-web-skill/ 移动端web开发技巧 这是一个最好的时代,因为我们站在潮流中:但也是一个最坏的时代,因为我 ...

  9. 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)

    一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...

随机推荐

  1. JQuery日历插件My97DatePicker日期范围限制

    My97DatePicker是一个非常优秀的日历插件,不仅支持多种调用模式,还支持日期范围限制. 常规的调用比较简单,如下所示: 1 <input class="Wdate" ...

  2. Python新手学习基础之数据类型——变量

    关于Python的变量是这样描述的: 变量是存储在内存里的一个值,通过变量名,我们可以访问到该变量的值. 上面这几行代码中,price,count和sum都是变量,Python是动态类型语言,变量是不 ...

  3. ActionBar +Tab+ViewPager +Fragment 支持侧滑动完成办税工具的页面展示

    1:fragment_zhqrl.xml(征期日历) <?xml version="1.0" encoding="utf-8"?> <Line ...

  4. JSP(二)

    一.pageContext对象    1>代表当前JSP页面的运行环境, [作用域仅仅局限于当前JSP页面中,出了该JSP页面, 原PageContext域对象被销毁]    2>封装了对 ...

  5. Cypress的开发板的UART接口打印调试信息

    说实话,在官方论坛现在还没有找到相关有用的消息,因为我们这个开发板的UART没引出来. http://www.cypress.com/?app=forum&id=167&rID=527 ...

  6. java中如果需要精确的计算答案,请避免使用double类型与float类型

    double类型与float类型主要用于科学计算与工程计算而设计的,用于二进制浮点计算.对于普通计算通常是结果不准确的,所以对于普通的浮点数的加减法等,解决的方法需要用int,long,BigDeci ...

  7. hdu5017:补题系列之西安网络赛1011

    补题系列之西安网络赛1011 题目大意:给定一个椭球: 求它到原点的最短距离. 思路: 对于一个椭球的标准方程 x^2/a^2 + y^2/b^2 +z^2/c^2=1 来说,它到原点的最短距离即为m ...

  8. 最简单的内核模块hello world

    [root@rt2m09617.sqa.tbc /home/ahao.mah/main] #cat hello.c // Defining __KERNEL__ and MODULE allows u ...

  9. uiautomatorviewer 可以查看到android中的web 元素信息

    以知乎社区账号登录使用微博账号为例,使用uiautomatorviewer 可以定位到登录框.密码框,需要结合appium的inspector 1.genymotion 模拟器开启,模拟器安卓系统为4 ...

  10. python calendar标准库基础学习

    # -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calen ...