移动端Web开发笔记
最近写的一个移动端项目:上海 地铁指路通,之间遇到的一些问题,记录下来(以后会不断补充的):
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:除了BODY和HTML的滚动条,在触屏下几乎所有浏览器都不支持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开发笔记的更多相关文章
- 【前端】移动端Web开发学习笔记【2】 & flex布局
上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...
- 【前端】移动端Web开发学习笔记【1】
下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...
- 移动端 Web 开发前端知识整理
文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...
- 移动端web开发的一些知识点
整理一下自己平时移动端web开发中遇到的问题,也参考一下前辈的一些总结 1.最常见的要数1像素边框了 因为Retine屏的分辨率始终是普通屏幕的2倍,1px的边框在dpr=2的retina屏下会显示成 ...
- 移动端web开发基础概念
最近在了解移动端web开发的相关知识,有些概念总是模糊不清,这次花费了一些时间整体的梳理了一遍. 分辨率 分辨率可以从显示分辨率与图像分辨率两个方向来分类.显示分辨率(屏幕分辨率)是屏幕图像的精密度, ...
- 移动端Web开发注意点
不用考虑浏览器兼容性 移动端开发主要对象是手持设备,其中绝大部分是IOS和Android系统,so,在开发此类页面时不必纠结IE和其他一些2B浏览器的兼容性,webkit是本次开发重点. 当然,不同版 ...
- 移动端Web开发如何处理横竖屏
<!Doctype html> <html> <head> <meta charset="utf-8"> <meta id=& ...
- 移动端web开发技巧(转)
原文链接:http://liujinkai.com/2015/06/06/mobile-web-skill/ 移动端web开发技巧 这是一个最好的时代,因为我们站在潮流中:但也是一个最坏的时代,因为我 ...
- 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)
一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...
随机推荐
- ./configure 时候报错c++ 编译器不能执行
./configure时报错:configure: error: C++ compiler cannot create executables .哎,今天重装测试服务器上的系统,设置好IP可以远程访问 ...
- Android性能优化学习
工作以来,越来越觉得性能优化的重要性,从技术角度,它甚至成了决定一个app成败的最关键因素.因此,特地花时间去学习专研性能优化的方法. 学习性能优化最便捷的方式便是研读别人有关性能优化的博客,然而网上 ...
- C语言 创建一个 txt 文件 bin输入字符 保存文件在工作文件夹里
int main(void) { char s[70]; FILE *fp; fp=fopen("123.txt","r"); if((fp=fopen(&qu ...
- 为什么针对XML的支持不够好?如何改进?
为什么针对XML的支持不够好?如何改进? 物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurati ...
- Java并发编程--多线程中的join方法详解
Java Thread中, join()方法主要是让调用该方法的thread在完成run方法里面的部分后, 再执行join()方法后面的代码 例如:定义一个People类,run方法是输出姓名年龄. ...
- ios打包ipa的四种实用方法(.app转.ipa)-备
感谢大神分享这个博客 总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Arc ...
- Haskell趣學指南--这个有意思
正在慢慢了解不同于命令式的函数式语言. 希望能获得新的视野.. ~~~~~~~~~~~ http://learnyouahaskell-zh-tw.csie.org/zh-cn/ready-begin ...
- Qt浅谈之二十七进程间通信之QtDBus
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- 给Qt生成的exe执行程序添加版本信息
Windows下的.exe可执行文件的属性中有版本这个信息,含有版本信息.描述.版权等.对于qt程序,要含有这样的信息,那就请如下操作:新建<工程名>.rc文件,在rc文件填入下的信息: ...
- Codeforces Round #322 (Div. 2) —— F. Zublicanes and Mumocrates
It's election time in Berland. The favorites are of course parties of zublicanes and mumocrates. The ...