这是我参与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.webStroage
(1)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的实例化对象)