移动端注意点总结(一)

meta基础知识

编码

<meta charset="utf-8">

优先使用 IE 最新版本和 Chrome

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>

H5页面窗口自动调整到设备宽度,并禁止用户缩放页面

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

页面描述

<meta name="description" content="gzyq"/>

页面关键词

<meta name="keywords" content="gzyq"/>

网页作者

<meta name="author" content="guozyq@gmail.com"/>

搜索引擎抓取

<meta name="robots" content="index,follow"/>

忽略将页面中的数字识别为电话号码

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

忽略Android平台中对邮箱地址的识别

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

iOS 设备 begin

<meta name="apple-mobile-web-app-title" content="标题">

添加到主屏后的标题(iOS 6 新增)

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

是否启用 WebApp 全屏模式,删除苹果默认的工具栏和菜单栏

<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">

iOS 图标

<!-- iPhone 和 iTouch,默认 57x57 像素,必须有 -->
<link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-57x57-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"/>

iOS 启动画面

<!-- 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 竖屏 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"/>

viewport模板

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <meta content="yes" name="apple-mobile-web-app-capable">
        <meta content="black" name="apple-mobile-web-app-status-bar-style">
        <meta content="telephone=no" name="format-detection">
        <meta content="email=no" name="format-detection">
        <title>标题栏</title>
        <link rel="shortcut icon" type="image/ico" href="/favicon.ico"/>
        <link rel="stylesheet" href="index.css">
    </head>
    <body>
        //这里开始内容
    </body>
</html>

移动端定义字体

font-family

中文字体使用系统默认即可,英文用Helvetica
参考地址:移动端使用字体的思考
CSS font-family 网页字体使用小结

font-size

px:只需要适配少部分手机设备,且分辨率对页面影响不大
em:同下
rem:需要适配各种移动设备,分辨率差别较大的情况

单位之间转换推荐工具:PXtoEM.com

响应式中多用px
以640视觉稿为例

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

html{font-size:10px}  
@media screen and (min-width:321px) and (max-width:375px){html{font-size:11px}}  
@media screen and (min-width:376px) and (max-width:414px){html{font-size:12px}}
@media screen and (min-width:415px) and (max-width:639px){html{font-size:15px}}  
@media screen and (min-width:640px) and (max-width:719px){html{font-size:20px}}  
@media screen and (min-width:720px) and (max-width:749px){html{font-size:22.5px}}  
@media screen and (min-width:750px) and (max-width:799px){html{font-size:23.5px}}  
@media screen and (min-width:800px){html{font-size:25px}}

自适应中多用rem

  1. css方法

  2. JS设置

    var size= window.innerWidth>window.innerHeight?window.innerHeight:window.innerWidth;
    document.getElementsByTagName('html')[0].style.fontSize = size/ 10 + 'px';