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

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. UIApplication详解再解-备

    每个app有且只有一个UIApplication对象,当程序启动的时候通过调用UIApplicationMain方法得到的.可以通过sharedApplication方法得到. UIApplicati ...

  2. Express4 Route笔记

    可以参考Express官网关于路由一节:http://expressjs.com/guide/routing.html 1:通过使用GET.POST方式定义主页路由,app.js: var expre ...

  3. Hunt the Wumpus第二个版本---多怪兽,多洞穴,洞穴间双向互通

    其中,将洞穴连起来的算法要好好体会. 学习构建临时变量列表,确认循环用FOR,非确定循环用 WHILE,并定好退出条件. from random import choice cave_numbers ...

  4. Qt编程之通过鼠标滚轮事件缩放QGraphicsView里面的Item

    首先自己subclass QGraphicsView的一个类,叫DiagramView,然后重新实现它的滚轮事件函数,然后发送一个缩放信号: oid DiagramView::wheelEvent(Q ...

  5. sql management studio 附加mdf文件出错的解决办法

    将mdf文件所在文件夹的权限改为everyone.,完全控制即可.

  6. js深入研究之牛逼的类封装设计

    <script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { ...

  7. 基本SQL练习题--选课经典例题

    为管理岗位业务培训信息,建立3个表: S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号.学员姓名.所属单位.学员年龄 C (C#,CN ) C#,CN 分别代表课程编号.课程名称 ...

  8. 移动互联与O2O的完美衔接

    移动互联网虽然市场颇大,前景广阔,但是由于数据过于密集,很难精准的定位所谓的目标客户群,然而O2O的线下市场却与互联网市场有极大的反差.一直觉得高校周边的小商家是最幸福的生意人,客户明确(就是本校学生 ...

  9. 什么时候该使用NoSQL存储数据库?

    原文地址:http://www.jdon.com/39240 文章总结以下几点:1.频繁写,很少读统计数据,比如点击率,应该使用基于内存的in-memory的key/value存储数据库如Redis, ...

  10. UBI(unsorted block image )块管理

    一.介绍 ubi是unsorted block images的缩写,是由IBM开发设计的,它与ubifs有不同的含义,ubifs是一种文件系统(nokia开发的):而ubi是一种块管理工具,工作在mt ...