移步端web开发技巧

发布时间:2018-10-27  栏目:w88优德官网电脑版  评论:0 Comments

META相关

  1. 增长到主屏后底题目(IOS)

  2. 启用 WebApp 全屏模式(IOS)

当网站上加到主屏幕后再点击进行启动时,可藏地址栏(从浏览器跳转或输入链接进入并无这功能)

  1. 百度禁止转码

通过百度手机打开网页时,百度可能会见指向您的网页进行转码,往而页面贴上它们的广告,非常的恶心。不过我们可由此是meta标签来禁止其:

百度SiteApp转码声明

  1. 装状态栏的背景颜色(IOS)

安装状态栏的背景颜色,只有当”apple-mobile-web-app-capable”
content=”yes”时生效

content 参数:

default :状态栏背景是反革命。

black :状态栏背景是黑色。

black-translucent :状态栏背景是半晶莹剔透。 如果设置为 default 或 black
,网页内容从状态栏底部开始。 如果安为 black-translucent
,网页内容充满整个屏幕,顶部会受状态栏遮挡。

  1. 移动端手机号码识别(IOS)

当 iOS Safari
(其他浏览器和Android均不会见)上会对那些圈起如是电话号码的数字处理呢电话链接,比如:

7位数字,形如:1234567

带括号以及加号的数字,形如:(+86)123456789

双连接线的数字,形如:00-00-00111

11位数字,形如:13800138000

唯恐还产生任何门类的数字呢会见吃辨认。我们好透过如下的meta来关闭电话号码的自动识别:

开电话职能

123456

打开短信功能:

123456

  1. 倒端邮箱识别(Android)

与电话号码的甄别一样,在安卓及会见指向合邮箱格式的字符串进行鉴别,我们得经如下的meta来管别邮箱的自动识别:

同等地,我们呢得以通过标签属性来开启长按邮箱地址弹来邮件发送的效益:

dooyoe@gmail.com

  1. 累加智能 App 广告条 Smart App Banner(IOS 6+ Safari)

  2. IOS Web app启动动画

由iPad
的开行画面是无包状态栏区域的。所以启动图片需要减小状态栏区域所对应之来头上之20px分寸,相应地当retina设备及一旦压缩40px之分寸

(landscape:横屏 | portrait:竖屏)

  1. 累加到主屏后底APP图标

点名web app添加到主屏后底图标路径,有少栽小微不同的方式:

apple-touch-icon:在IOS6同以下的版本会自动为图标添加相同重合高光效果(IOS7方始都使用扁平化的宏图风格)

apple-touch-icon-precomposed:使用“设计原图图标”

效果:

w88优德官网电脑版 1

希冀标尺寸:

只是通过点名size属性来吧不同的装置提供不同之图标(但通常来说,我们一味需要提供一个114
x 114 pixels大小的图标即可 )

合法证实如下

Createdifferent sizesofyour app iconfordifferent devices.Ifyou’re
creating a universal app, you needtosupply app iconsinallfour
sizes.ForiPhoneandiPod touchbothofthese
sizesarerequired:57x57pixels114x114pixels (high
resolution)ForiPad,bothofthese sizesarerequired:72x72pixels144x144(high
resolution)

  1. 先利用时版本 IE 和 Chrome

11.viewport模板

题目这里开内容

普遍问题

1、移动端如何定义字体font-family

其三充分手机系统的书:

ios 系统

默认中文字体是Heiti SC

默认英文字是Helvetica

默认数字字体是HelveticaNeue

无微软雅黑字体

android 系统

默认中文字体是Droidsansfallback

默认英文与数字字体是Droid Sans

无微软雅黑字体

winphone 系统

默认中文字体是Dengxian(方正等线体)

默认英文及数字字体是Segoe

无微软雅黑字体

各个手机系统出自己之默认字体,且还无支持微软十分黑

若果随便特别要求,手机端无需定义中文字体,使用系统默认

英文字和数字字体可采用 Helvetica ,三种植系统还支持

*挪端定义字体的代码*/body{font-family:Helvetica;}

2、移动端字体单位font-size选择px还是rem

对此只有待适配手机设备,使用px即可

对急需适配各种运动设备,使用rem,例如只待适配iPhone和iPad等分辨率差别比较老大的装备

rem配置参考:

html{font-size:10px}@mediascreen and (min-width:480px) and
(max-width:639px){html{font-size:15px}}@mediascreen and
(min-width:640px) and
(max-width:719px){html{font-size:20px}}@mediascreen and
(min-width:720px) and
(max-width:749px){html{font-size:22.5px}}@mediascreen and
(min-width:750px) and
(max-width:799px){html{font-size:23.5px}}@mediascreen and
(min-width:800px) and
(max-width:959px){html{font-size:25px}}@mediascreen and
(min-width:960px) and
(max-width:1079px){html{font-size:30px}}@mediascreen and
(min-width:1080px){html{font-size:32px}}

3、移动端touch事件(区分webkit 和 winphone)

当用户手指在移动装备以屏幕及滑动会触发的touch事件

以下支持webkit

touchstart——当手指触碰屏幕时起。不管当前时有发生微只是手指

touchmove——当手指于屏幕上滑动时总是触发。通常咱们重新滑屏页面,会调用event的preventDefault()可以阻碍默认情况的发生:阻止页面滚动

touchend——当手指离开屏幕时接触

touchcancel——系统已跟踪触摸时候会硌。例如当动过程遭到突然页面alert()一个提拔框,此时见面触发发拖欠事件,这个事件比少用

以下支持winphone 8

MSPointerDown——当手指触碰屏幕上发出。不管当前来微微只手指

MSPointerMove——当手指以屏幕及滑时老是触发。通常我们再滑屏页面,会调用css的html{-ms-touch-action:
none;}可以阻碍默认情况的发:阻止页面滚动

MSPointerUp——当手指离开屏幕时点

4、移动端click屏幕产生200-300 ms的推移响应

移步设备上的web网页是出300ms延迟的,玩玩会招致按钮点击延迟还是点击失效。

以下是历史由来:

2007年苹果发布首款iphone上IOS系统搭载的safari为了以适用于PC端上充分屏幕的网页会比较好的示在大哥大端上,使用了双击缩放(double
tap to
zoom)的方案,比如你在大哥大及之所以浏览器打开一个PC上的网页,你或以看页面内容虽然可以支撑满整个屏幕,但是字体、图片都挺薄不到底,此时得以快捷双击屏幕上的某某同部分,你不怕能看清拖欠有放大后的情,再次双击后会回到原状态。

双击缩放是指用手指在屏幕上高速点击两次等,iOS 自带的 Safari
浏览器会将网页缩放至老比例。

由即闹在浏览器需要怎么样判定快速点击上,当用户在屏幕上单击某一个因素时候,例如超反链接,此处浏览器会事先捕获该次单击,但浏览器不能够操纵用户是特而点击链接或者如双击该部分区域进行缩放操作,所以,捕获第一次等单击后,浏览器会先Hold一段时间t,如果当t时间区间里用户不开展下一致坏点击,则浏览器会举行单击跳反链接的处理,如果t时间里用户进行了亚次单击操作,则浏览器会禁止跳转,转而展开对该部分区域页面的缩放操作。那么是时间区间t有微微吗?在IOS
safari下,大概也300毫秒。这就是是缓的由于来。造成的究竟用户纯粹单击页面,页面需要过一段时间才应,给用户慢体验感觉,对于web开发者来说是,页面js捕获click事件的回调函数处理,需要300ms后才生效,也尽管间接导致影响外事情逻辑的处理。

解决方案:

fastclick好缓解在大哥大及点击事件的300ms延迟

zepto的touch模块,tap事件呢是为缓解在click的推问题

触摸事件的响应顺序

1、ontouchstart

2、ontouchmove

3、ontouchend

4、onclick

缓解300ms延迟的问题,也可以由此绑定ontouchstart事件,加快对事件之应

5、什么是Retina 显示屏,带来了呀问题

retina:一种植有过高像素密度之液晶屏,同样大小的屏幕及展示的诸如素点由1单变为多只,如以平等带动下的屏幕上,苹果设备的retina显示屏中,像素点1单变成4单

当高清显示屏中的位图被加大,图片会换得模糊,因此活动端的视觉稿通常会规划呢风PC的2加倍

这就是说,前端的答方案是:

统筹稿切出来的图纸长宽保证呢偶数,并使用backgroud-size把图纸缩小为本来的1/2

//例如图片宽高为:200px*200px,那么写法而下.css{width:100px;height:100px;background-size:100px100px;}

其他元素的取值为原本的1/2,例如视觉稿40px底书,使用样式的写法为20px

.css{font-size:20px}

6、ios系统中元素被触动时起的半透明灰色遮罩怎么去丢

ios用户点击一个链接,会出现一个半透明灰色遮罩,
如果想要熬用,可设置-webkit-tap-highlight-color的alpha值为0,也尽管是属性值的尾声一号设置为0即使得去半晶莹剔透灰色遮罩

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

7、部分android系统中元素被点击时来的边框怎么去丢

android用户点击一个链接,会冒出一个边框要半晶莹剔透灰色遮罩,
不同生产商定义出来额效果不等同,可安装-webkit-tap-highlight-color的alpha值为0失除有机器自带的效果

a,button,input,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0)   
-webkit-user-modify:read-write-plaintext-only;}

-webkit-user-modify有个副作用,就是输入法不再能够输入多单字符

另外,有些机型去除不了,如小米2

对此仍钮类还出只艺术,不使用a或者input标签,直接用div标签

8、winphone系统a、input标签让点击时起的半透明灰色背景怎么去丢

9、webkit表单元素的默认外观怎么重置

.css{-webkit-appearance:none;}

10、webkit表单输入框placeholder的颜色值能转呢

input::-webkit-input-placeholder{color:#AAAAAA;}input:focus::-webkit-input-placeholder{color:#EEEEEE;}

11、webkit表单输入框placeholder的字能更换行么

ios可以,android不行~

  1. 关门iOS键盘首字母自动大写

以iOS中,默认情况下键盘是翻开首配母大写的成效的,如果启用这个功能,可以这样:

  1. 关iOS输入自动修正

与英文输入默认自动首配母大写那么,IOS还开了一个效应,默认输入法会开启自动更正输入内容,这样的话,用户时时要操作简单蹩脚。如果非期望开启之功效,我们可以经过input标签属性来关闭掉:

  1. 不准文本缩放

当移动设备横竖屏切换时,文本的大小会重新计算,进行对应的缩放,当我们不需要这种情况常常,可以选取禁:

html{-webkit-text-size-adjust:100%;}

亟待专注的是,PC端的该属性已经被移除,该属性在移动端要立竿见影,必须设置
`meta viewport’。

  1. 活动端如何排除输入框内阴影

每当iOS上,输入框默认有间阴影,但无法运用 box-shadow
来解,如果未待阴影,可以这么关闭:

input,textarea{border:0;/* 方法1 */-webkit-appearance:none;/* 方法2
*/}

  1. 快速回弹滚动

咱俩先来瞧回弹滚动在手机浏览器发展的历史:

前期的时刻,移动端的浏览器都非支持非body元素的轮转条,所以一般还指
iScroll;

Android
3.0/iOS解决了非body元素的轮转问题,但滚动条不可见,同时iOS上只能够透过2独手指头进行滚动;

Android
4.0缓解了滚动条不可见及长了迅速回弹滚动效应,不过就此特点又给移除;

iOS从5.0始解决了滚动条不可见及长了飞跃回弹滚动效应

于iOS上一旦您想为一个素拥有诸如 Native 的滚效应,你可如此做:

.xxx{overflow:auto;/* auto | scroll
*/-webkit-overflow-scrolling:touch;}

PS:iScroll用了以后发不是生好,有一部分新奇的bug,这里推荐另外一个
iDangero
Swiper,这个插件并了滑屏滚动的强大作用(支持3D),而且还有回弹滚动的内置滚动条,官方地址:

iDangero

  1. 举手投足端禁止选中内容

若果你不思量用户可选中页面中之情,那么你可以当css中禁掉:

.user-select-none{-webkit-user-select:none;/* Chrome all / Safari all
*/-moz-user-select:none;/* Firefox all (移动端不需要)
*/-ms-user-select:none;/* IE 10+ */}

  1. 挪端取消touch高亮效果

当做活动端页面时,会发觉所有a标签在触发点击时要具有安装了伪类 :active
的元素,默认都见面以激活状态时,显示高亮框,如果未思量如果之高亮,那么你可透过css以下办法来展开全局的不准:

html{-webkit-tap-highlight-color:rgba(0,0,0,0);}

可这个方式在三星的电话机上无效,有相同种植妥协的不二法门是管页面非真正跳反链接的a标签换成其他标签,可以解决这个题目。

  1. 怎么禁止保存要拷贝图像(IOS)

寻常当你在大哥大或pad上丰富准图像 img ,会弹出选项 存储图像 或者
拷贝图像,如果你莫思叫用户这么操作,那么你可透过以下方法来禁止:

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

20.拟按钮hover效果

活动端触摸按钮的作用,可明示用户有些业务刚发生,是一个较好经验,但是运动装备受到并没鼠标指针,使用css的hover并无克满足我们的急需,还好国外有只激活css的active效果,代码如下,

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;}按钮document.addEventListener(“touchstart”,function(){},true)

兼容性ios5+、部分android 4+、winphone 8

比方做到全兼容的法门,可经过绑定ontouchstart和ontouchend来支配按钮的类名

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-on{background-color:#357AE8;}按钮varbtnBlue
=document.querySelector(“.btn-blue”);btnBlue.ontouchstart
=function(){this.className =”btn-blue btn-blue-on”}btnBlue.ontouchend
=function(){this.className =”btn-blue”}

21.屏幕旋转的轩然大波以及体制

事件

window.orientation,取值:正负90意味着横屏模式、0暨180表现吗竖屏模式;

window.onorientationchange
=function(){switch(window.orientation){case-90:case90:               
alert(“横屏:”+window.orientation);case0:case180:               
alert(“竖屏:”+window.orientation);break;            }}

样式

//竖屏时使用的体裁@mediaalland(orientation:portrait)
{.css{}}//横屏时利用的样式@mediaalland(orientation:landscape) {.css{}}

22.audio元素和video元素在ios和andriod中无法自动播放

许针对方案:触屏即播

$(‘html’).one(‘touchstart’,function(){    audio.play()})

23.摇同一摆效果

HTML5
deviceMotion:封装了走传感器数据的事件,可以取手机移动状态下之走加速度等数据。

24.手机拍照和上传图片

的accept 属性

动总结:

ios 有摄像、录像、选取本地图片功能

一些android只有选择本地图片功能

winphone不支持

input控件默认外观丑陋

  1. 消除transition闪屏

.css{/*安装内嵌的因素于 3D 空间如何呈现:保留
3D*/-webkit-transform-style:preserve-3d;/*(设置进行换的素的里在照用户时时是不是可见:隐藏)*/-webkit-backface-visibility:hidden;}

拉开硬件加速

釜底抽薪页面闪白

保险动画流畅

.css{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}

计划大性能CSS3动画片的几个因素

尽可能地动用合成属性transform和opacity来规划CSS3动画片,

不使用position的left和top来定位

利用translate3D开启GPU加速

  1. android 上去掉语音输入按钮

input::-webkit-input-speech-button{display:none}

框架

  1. 动端基础框架

zepto.js语法与jquery几乎一模一样,会jquery基本会zepto~

iscroll.js化解页面不支持弹性滚动,不支持fixed引起的问题~
实现下拉刷新,滑屏,缩放等力量~

underscore.js该库提供了一整套函数式编程的实用功能,但是尚未扩大外JavaScript内置对象。

fastclick加快移动端点击响应时间

animate.cssCSS3动画效果库

Normalize.cssNormalize.css是一模一样种植现代之、CSS
reset为HTML5备选的上流替代方案

  1. 滑屏框架

可上下滑屏、左右滑屏等滑屏切换页面的效力

slip.js

iSlider.js

fullpage.js

swiper

3.瀑布流框架

masonry

工具推荐

caniuse各浏览器支持html5属性查询

paletton调色搭配

凯凯刘

留下评论