H5知识点总结

408 阅读1分钟

这是我参与8月更文挑战的第15天,活动详情查看:8月更文挑战

HTML5重点总结

一、HTML5新增的标签

header nav main article section footer aside hgroup figure figcaption

二、低版本浏览器如何兼容HTML5的新标签

html5shiv.js

三、HTML5新增的表单控件

<input type="email">
<input type="url">
<input type="date">
<input type="range">
<input type="color">
<input type="number">

新增表单控件属性:placeholder autofocus required pattern

四、移动端设计的注意事项

1.Chrome浏览器最小字号是:12px,如果需要更小的字号,可以对装载文本的盒子设置:transform:scale(.8)
2.背景图片一定要设置 background-size
3.边框太细在某些小屏手机不显示。(移动端1px边框的处理)
4.img{ vertical-align:top;} (对于行内块元素都起作用:img input)
5.一定要设置 body{ font-size: .28rem},否则影响图标字体的显示
6.viewport要设置完整
7.zepto.js   http://www.css88.com/

dpr: 倍率。

rem: 相对于html根元素的font-size的倍数。

五、zepto.js的注意事项:(分模块:按需加载)

1.api使用和jquery基本一样:dom操作 $.ajax
2.animate:fx.js的注意事项
3.animate处理scrollTop样式:引入一个小插件

六、本地存储:

1.cookie
2.webStroage1)localStorage:(只能存储字符串型数据,读出来的也是字符串)
         存:localStorage.setItem(key,value);
         取:localStorage.getItem(key)
         删除一个:localStorage.removeItem(key)
         清除所有:localStorage.clear()
    (2)sessionStorage:
         同上!

注意: 在程序运行的过程中,先执行同步操作,再进行异步操作,当遇到引入js文件的时候,在引入之后会马上运行这个js文件。ajax操作是异步操作,当遇到ajax向页面中加标签的时候要记得用事件委托。

阻止浏览器默认行为: e.preventDefault();

七、离线缓存

1.触摸事件:ontouchstart ontouchmove ontouchend
2.事件对象:
    box.entouchstart=function(e){
    //touches代表多个手指
        e.touches[0].clientX
    }
3.zepto.js (事件模块: touch.js)
4.移动端常见问题:
    (1)click事件有300ms延迟的问题(解决方案:1.zepto的tap事件 2.fastclick.js)
    (2)zepto的tap:(点透问题,解决方案:使用fastclick.js的click事件)
    (3)zepto的常用事件:$().swipeLeft()等四个
    (4)注意:在某些场景要阻止浏览器默认行为。(如轮播图左右滑动的时候)

伪数组: 可以像数组一样通过下表获取相应的值,但他们不是数组。如:dom集合和arguments(判断arguments是不是数组的方法:arguments instanceof Array 意思是看它是不是Array的实例化对象)