H5开发小技巧一、文档head模板构建

<!DOCTYPE html>
<head>
    <meta charset="utf-8" />
    <meta content="telephone=no" name="format-detection" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-  scale=1.0, maximum-scale=1.0,user-scalable=no"/>
</head>

DOCTYPE声明:采用HTML5的声明格式,不需要声明引用DTD
这里写图片描述
telephone=no 禁止把页面中的数字转化为拨号链接。
viewport 设置页面viewport宽度=设备宽度,缩放值为1,最大最小缩放值均为1(多重设置是为了兼容各种设备)。
viewport标签共有以下值:
width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值, 如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。
height:和 width 相对应,指定高度。
initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。
maximum-scale:允许用户缩放到的最大比例,值的范围为0.25至10.0之间
minimum-scale:允许用户缩放到的最小比例,值的范围为0.25至10.0之间
user-scalable:用户是否可以手动缩放
2.适配规则
移动端网页适配有多种方案:定宽布局,响应式布局,宽度自适应布局,弹性布局等,我们的适配代码是为了实现弹性布局:页面整体随手机屏幕宽度变化等比缩放。

window.onresize = r;
function r(resizeNum){
        //核心适配代码
    var winW = window.innerWidth;
    document.getElementsByTagName("html")[0].style.fontSize=winW*0.15625+"px";
        //核心适配代码
    if(winW>window.screen.width&&resizeNum<=10){
        setTimeout(function(){
            r(++resizeNum)
        }, 100);
    }
    else{
        document.getElementsByTagName("body")[0].style.opacity = 1;
    }
}
setTimeout(function(){r(0)}, 100)

在页面中或者js文件中放入这段适配代码即可在页面中按照以下所给比例使用rem。

rem:HTML5新的计量单位,相对于根元素的font-size来设置大小,一般浏览器默认font-size=16px,即1rem=16px,为了方便计算,并且保证在电脑的chrome中正确显示(chrome中字体最小显示为12px),我们使用js进行计算,使页面winW=640时,html的font-size=100px,页面为其它宽度时font-size按此规则等比缩放。因此我们的比例为:以640宽的UI图为基准,1rem=100px。
这里写图片描述
需要设置页面body的css:opacity:0,因为部分机型中viewport缩放是有时间差的,所以我们检测当其viewport缩放完成后再设置opacity:1。
3.页面构建
以宽度为640的UI图为基准:页面中所有需要用px单位的地方都按100:1换算为rem,当然也可以使用百分比(必要时),百分比没有换算关系,和web端用法一致。
html5标签和css3属性:尽量使用语义化标签,优化文档结构,减少标签嵌套,辅助性样式(如横线、图标等)尽量使用css3伪类构建,常见的css3属性在移动端支持度都很高,不存在兼容性问题。如果要使用比较特殊的,或者自己不太确定的,可以在该网站中检测其兼容性:http://caniuse.com/
4.js框架
如果页面简单,直接使用原生js即可,推荐使用HTML5的新的js api:querySelector,querySelectorAll等
复杂页面:zepto.js,与jquery用法高度相似。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值