整理web移动端开发经验,部分内容借鉴于网上的博文。

1、meta标签

<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0;" />

<!-- width可视宽度,initial-scale初始化缩放比例,maximum-scale允许用户缩放的最大比例,minimum-scale允许用户缩放的最小比例,user-scalable是否允许用户缩放。-->

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

<!-- 设置Web应用是否以全屏模式运行。删除默认的苹果工具栏和菜单栏。如果content设置为yes,Web应用会以全屏模式运行,反之,则不会。content的默认值是no,表示正常显示。 -->

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

<!-- 控制状态栏显示样式。设置为blank-translucent,则状态栏显示为黑色半透明。-->

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

<!-- 禁止ios把数字转化为拨号链接 -->

2、屏蔽ios点击元素时出现的阴影

-webkit-tap-highlight-color:rgba(255,255,255,0);

3、ios 设置input 按钮样式会被默认样式覆盖

input,textarea {
border: 0;
-webkit-appearance: none;
}

4、长度单位用rem 

1rem = 16px;
html { <!-- 根元素 -->
font-size:62.5%;
}
p {
font-size:1rem; <!-- 字体大小等于 = 10px 16px*62.5% = 10px-->
}

5、多用text-shadow这个属性,可以美化文字效果

   border-radius、box-shadow、gradient、border-image,在移动端都可以很好的支持,使用这些属性可以实现很炫丽的按钮。

6、iOS中禁止用户保存图片、复制图片

  img标签指定 -webkit-touch-callout:none; 可以禁止设备弹出列表按钮,这样用户就无法保存/复制你的图片。

7、禁止用户进行复制, 选择

  使用 -webkit-user-select: none;  user-select:none;

8、html5调用安卓或者ios的拨号功能

  html5提供了自动调用拨号的标签,只要在a标签的href中添加tel:就可以了。

  如下:

  <a href="tel:4008106999,1034">400-810-6999 转 1034</a>

  拨打手机直接如下

  <a href="tel:15677776767">点击拨打15677776767</a>

9、长时间按住页面出现闪退

element {
-webkit-touch-callout:none;
}

  

10、设置缓存

  手机页面通常在第一次加载后会进行缓存,然后每次刷新会使用缓存而不是去重新向服务器发送请求。如果不希望使用缓存可以设置no-cache。

<meta http-equiv="Cache-Control" content="no-cache"/>

11、IOS键盘字母输入,默认首字母大写

  解决方案,设置如下属性

<input type="text" autocapitalize="off"/>

  

12、关于 iOS 系统中,中文输入法输入英文时,字母之间可能会出现一个六分之一空格

  可以通过正则去掉

this.value = this.value.replace(/\u2006/g,'');

13、点击事件

  click 和 tap 比较两者都会在点击时触发,但是在手机WEB端,click会有 200~300 ms的延迟,所以请用tap代替click作为点击事件。

待续~~

web移动端开发经验总结的更多相关文章

  1. Openstack的web管理端相关

    openstack的web管理端技术方面要关注的问题. 同步?异步 先说浏览器的同步和异步,我们知道的浏览器可以使用ajax实现异步请求,就是浏览器在请求数据的时候,我们管理员还能对浏览器就行其他操作 ...

  2. Web服务端性能提升实践

    随着互联网的不断发展,日常生活中越来越多的需求通过网络来实现,从衣食住行到金融教育,从口袋到身份,人们无时无刻不依赖着网络,而且越来越多的人通过网络来完成自己的需求. 作为直接面对来自客户请求的Web ...

  3. 关于如何提高Web服务端并发效率的异步编程技术

    最近我研究技术的一个重点是java的多线程开发,在我早期学习java的时候,很多书上把java的多线程开发标榜为简单易用,这个简单易用是以C语言作为参照的,不过我也没有使用过C语言开发过多线程,我只知 ...

  4. 【转载】Web移动端Fixed布局的解决方案

    特别声明:本文转载于EFE的<Web移动端Fixed布局的解决方案>.如需转载,烦请注明原文出处:http://efe.baidu.com/blog/mobile-fixed-layout ...

  5. winform客户端利用webClient实现与Web服务端的数据传输

    由于项目需要,最近研究了下WebClient的数据传输.关于WebClient介绍网上有很多详细介绍,大概就是利用WebClient可以实现对Internet资源的访问.无外乎客户端发送请求,服务端处 ...

  6. 从web移动端布局到react native布局

    在web移动端通常会有这样的需求,实现上中下三栏布局(上下导航栏位置固定,中间部分内容超出可滚动),如下图所示: 实现方法如下: HTML结构: <div class='container'&g ...

  7. 如何提高Web服务端并发效率的异步编程技术

    作为一名web工程师都希望自己做的web应用能被越来越多的人使用,如果我们所做的web应用随着用户的增多而宕机了,那么越来越多的人就会变得越来越少了,为了让我们的web应用能有更多人使用,我们就得提升 ...

  8. web移动端常见问题解决方案 (转)

    总结:本文总结了web移动端的常见问题并附上解决方案,包括:Meta标签.获取滚动条的值.禁止选择文本.屏蔽阴影.css之border-box.css3多文本换行.Retina屏幕高清图片.html5 ...

  9. SeaJS:一个适用于 Web 浏览器端的模块加载器

    什么是SeaJS?SeaJS是一款适用于Web浏览器端的模块加载器,它同时又与Node兼容.在SeaJS的世界里,一个文件就是一个模块,所有模块都遵循CMD(Common Module Definit ...

随机推荐

  1. iOS开发-- 字符串分割、拼接

    ---------------------字符串分割实例---------------------NSString * ptr = @"I am a man"; //将字符串整体作 ...

  2. Ora2Pg的安装和使用

    1. 安装DBI,DBD::Oracle DBI只是个抽象层,要实现支持不同的数据库,则需要在DBI之下,编写针对不同数据库的驱动.对MySql来说,有DBD::Mysql, 而对ORACLE来说,则 ...

  3. CoreData 多表 关联

    本文转载至 http://www.jianshu.com/p/e9f3b5e0cd19 1.概念简介 coreData中存在复杂的数据关系时,一张表难以满足需求,此时就需要了解使用coreData多表 ...

  4. TYAttributedLabel——简单,强大的iOS属性文本控件

    本文转载至 http://www.mobile-open.com/2015/86578.html TYAttributedLabel 简单,强大的属性文本的控件(无需了解CoreText),支持图文混 ...

  5. 转:Android开发:使用DDMS Heap进行内存泄露调试

    无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方.Android tools中的DDMS就带有一个很不错的内存监测工具Heap,本 ...

  6. sqlserver添加查询 表、字段注释(转)

    环境:xp sp3,sql server2008 .sqlserver用语句给表注释 EXECUTE sp_addextendedproperty N'MS_Description', N'表注释', ...

  7. cnBlogs博客推荐

      数据结构和算法若可以称为为编程的细胞结构,那设计模式就是编程的灵魂气脉. 一个从是编程的微观演绎,一个是编程的宏观设计.这个从技术和艺术的结合体,毫无疑问是在世界末日之前的很伟大的一项发明. 设计 ...

  8. Elasticsearch学习之深入搜索四 --- cross-fields搜索

    1. cross-fields搜索 一个唯一标识,跨了多个field.比如一个人,标识,是姓名:一个建筑,它的标识是地址.姓名可以散落在多个field中,比如first_name和last_name中 ...

  9. angularjs结合html5的拖拽行为

    闲聊: 小颖公司的项目之前要实现一个将左侧树中当前拖拽的内容,动态添加到右侧树种,虽然这个模块当时没有分给小颖,是同事完成的(小颖也不会嘻嘻),后来看了下他写代码,小颖自己写了个小demo.就当做个笔 ...

  10. MySQL优化之SQL耗时瓶颈 SHOW profiles

    1.首先查看是否开启profiling功能 SHOW VARIABLES LIKE '%pro%'; 或者 SELECT @@profiling; 2.开启profiling SET profilin ...