页面描述javascript
<meta name="description" content="页面描述不超过150个字符" />
页面关键词css
<meta name="keyowords" content="关键词,html5,css3" />
页面日期html
<meta name="build" content="2016.05.10" />
页面做者html5
<meta name="author" content="张艳兵" />
页面版权java
<meta name="copyright" content="zyb" />
页面检索android
<meta name="Robots" content="all|none|index|noindex|follow|nofollow" /> all:文件将被检索,且页面上的连接能够被查询 none:文件不被检索,且页面上的连接不能够被查询 index:文件将被检索 noindex:文件不被检索,但页面上的连接能够被查询 follow:页面上的连接能够被查询 nofollow:文件不被检索,但页面上的连接能够被查询
页面重访ios
<meta name="revisit-after" content="7 days" />
页面缓冲css3
<meta name="no-cache" content="Cache-Control" />
H5页面自动调整到设备宽度,并禁止用户缩放页面web
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
忽略将页面中的数字识别为电话号码浏览器
<meta name="format-detection" content="telephone=no" />
忽略Android平台中对邮箱地址的识别
<meta name="format-detaction" content="email=no" />
将网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari;是否启用 WebApp 全屏模式
<meta name="apple-mobile-web-app-capable" content="yes">
将网站添加到主屏幕快速启动方式,仅针对ios的safari顶端状态条的,样式可选default、black、black-translucent
<meta name="apple-mobile-web-app-status-bar-style" content="black">
UC默认竖屏 ,UC强制全屏
<meta name="full-screen" content="yes"/> <meta name="browsermode" content="application"/>
QQ强制竖屏 QQ强制全屏
<meta name="x5-orientation" content="portrait"/> <meta name="x5-fullscreen" content="true"/> <meta name="x5-page-mode" content="app"/>
Windows 8 磁贴颜色
<meta name="msapplication-TileColor" content="#000"/>
Windows 8 磁贴图标
<meta name="msapplication-TileImage" content="icon.png"/>
winphone系统a、input标签被点击时产生的半透明灰色背景怎么去掉
<meta name="msapplication-tap-highlight" content="no">
添加 facicon icon
<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />
使用apple-touch-icon属性为“增长高光光亮的图标”
使用apple-touch-icon-precomposed属性为“设计原图图标”
apple-touch-icon-precomposed 禁止系统自动添加效果,直接显示设计原图。
iPhone和iTouch,默认57x57像素,必须有
<meta rel="apple-touch-icon-precomposed" href="/apple-touch-icon-57x57-precomposed.png" />
iPad,72x72 像素,能够没有,但推荐有
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/apple-touch-icon-72x72-precomposed.png" />
Retina iPhone 和 Retina iTouch,114x114 像素,能够没有,但推荐有
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114x114-precomposed.png" />
Retina iPad,144x144 像素,能够没有,但推荐有
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144x144-precomposed.png" />
iPad 的启动画面是不包括状态栏区域的
iPad 竖屏 768 x 1004(标准分辨率)
<link rel="apple-touch-startup-image" sizes="768x1004" href="/splash-screen-768x1004.png" />
iPad 竖屏 1536x2008(Retina)
<link rel="apple-touch-startup-image" sizes="1536x2008" href="/splash-screen-1536x2008.png" />
iPad 横屏 1024x748(标准分辨率)
<link rel="apple-touch-startup-image" sizes="1024x748" href="/Default-Portrait-1024x748.png" />
iPad 横屏 2048x1496(Retina)
<link rel="apple-touch-startup-image" sizes="2048x1496" href="/splash-screen-2048x1496.png" />
iPhone 和 iPod touch 的启动画面是包含状态栏区域的。
iPhone/iPod Touch 竖屏 320x480 (标准分辨率)
<link rel="apple-touch-startup-image" href="/splash-screen-320x480.png" />
iPhone/iPod Touch 竖屏 640x960 (Retina)
<link rel="apple-touch-startup-image" sizes="640x960" href="/splash-screen-640x960.png" />
iPhone 5/iPod Touch 5 竖屏 640x1136 (Retina)
<link rel="apple-touch-startup-image" sizes="640x1136" href="/splash-screen-640x1136.png" />
当用户手指放在移动设备在屏幕上滑动会触发的touch事件
webkit:
winphone 8:
移动端click屏幕产生200-300 ms的延迟响应,每每会形成按钮点击延迟甚至是点击失效。
2007年苹果发布首款iphone上IOS系统搭载的safari为了将适用于PC端上大屏幕的网页能比较好的展现在手机端上,使用了双击缩放(double tap to zoom)的方案,好比你在手机上用浏览器打开一个PC上的网页,你可能在看到页面内容虽然能够撑满整个屏幕,可是字体、图片都很小看不清,此时能够快速双击屏幕上的某一部分,你就能看清该部分放大后的内容,再次双击后能回到原始状态。
双击缩放是指用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。
缘由就出在浏览器须要如何判断快速点击上,当用户在屏幕上单击某一个元素时候,例如跳转连接<a href="#"></a>,此处浏览器会先捕获该次单击,但浏览器不能决定用户是单纯要点击连接仍是要双击该部分区域进行缩放操做,因此,捕获第一次单击后,浏览器会先Hold一段时间t,若是在t时间区间里用户未进行下一次点击,则浏览器会作单击跳转连接的处理,若是t时间里用户进行了第二次单击操做,则浏览器会禁止跳转,转而进行对该部分区域页面的缩放操做。那么这个时间区间t有多少呢?在IOS safari下,大概为300毫秒。这就是延迟的由来。形成的后果用户纯粹单击页面,页面须要过一段时间才响应,给用户慢体验感受,对于web开发者来讲是,页面js捕获click事件的回调函数处理,须要300ms后才生效,也就间接致使影响其余业务逻辑的处理。
解决方案:
触摸事件的响应顺序:
Retina:一种具有超高像素密度的液晶屏,一样大小的屏幕上显示的像素点由1个变为多个,如在一样带下的屏幕上,苹果设备的retina显示屏中,像素点1个变为4个。
在高清显示屏中的位图被放大,图片会变得模糊,所以移动端的视觉稿一般会设计为传统PC的2倍
设计稿切出来的图片长宽保证为偶数,并使用backgroud-size把图片缩小为原来的1/2
例如图片宽高为:200px*200px,那么写法以下:
.css{width:100px;height:100px;background-size:100px 100px;}其它元素的取值为原来的1/2,例如视觉稿40px的字体,使用样式的写法为20px
1:移动端字体:
中文字体使用系统默认便可,英文用Helvetica
body{font-family:Helvetica}
字体单位,若是只是适配手机,用px就行,若是适配多终端,使用rem
2:IOS系统中元素被触摸时产生的半透明灰色遮罩怎么去掉
设置-webkit-tap-highlight-color的alpha值为0,也就是属性值的最后一位设置为0就能够去除半透明灰色遮罩
a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)}
3:部分android系统中元素被点击时产生的边框怎么去掉
设置-webkit-tap-highlight-color的alpha值为0,也就是属性值的最后一位设置为0就能够去除半透明灰色遮罩
a,button,input,textarea{ -webkit-tap-highlight-color: rgba(0,0,0,0;) -webkit-user-modify:read-write-plaintext-only; }
4:webkit表单元素的默认外观怎么重置
.css{-webkit-appearance:none;}
5:webkit表单输入框placeholder的颜色值能改变么
input::-webkit-input-placeholder{color:#AAAAAA;} input:focus::-webkit-input-placeholder{color:#EEEEEE;}
6:webkit表单input输入框placeholder的文字能换行么
ios能够,android不行
7:webkit表单textarea输入框placeholder的文字能换行么
ios,android均可以
8:禁止ios和android用户选中文字
.css{-webkit-user-select:none}
9:禁止ios 长按时不触发系统的菜单,禁止ios&android长按时下载图片
.css{-webkit-touch-callout: none}
10:打电话发短信的怎么实现
<p> <a href="tel:18601341234">打电话给:18601341234</a> </p> <p>发短信,winphone系统无效</p> <p> <a href="sms:10086">发短信给: 10086</a> </p>
发短信,winphone系统无效
11:模拟按钮hover效果
移动端触摸按钮的效果,可明示用户有些事情正要发生,是一个比较好体验,可是移动设备中并无鼠标指针,使用css的hover并不能知足咱们的需求,如下示例兼容性ios5+、部分android 4+、winphone 8
html:
<div class="btn-blue">按钮</div>
css:
a{ -webkit-tap-highlight-color: rgba(0,0,0,0); } .btn-blue{ display:block; height:42px; line-height:42px; text-align:center; border-radius:4px; font-size:18px; color:#FFFFFF; background-color: #4185F3; } .btn-blue:active{ background-color: #357AE8; }
要作到全兼容的办法,可经过绑定ontouchstart和ontouchend来控制按钮的类名:
html:
<div class="btn-blue">按钮</div>
css:
a{ -webkit-tap-highlight-color: rgba(0,0,0,0); } .btn-blue{ display:block; height:42px; line-height:42px; text-align:center; border-radius:4px; font-size:18px; color:#FFFFFF; background-color: #4185F3; } .btn-blue:active{ background-color: #357AE8; }
js:
<script type="text/javascript"> var btnBlue = document.querySelector(".btn-blue"); btnBlue.ontouchstart = function(){ this.className = "btn-blue btn-blue-on" } btnBlue.ontouchend = function(){ this.className = "btn-blue" } </script>