前端知识梳理之HTML
HTML5和HTML4 一些不同之处?
声明方面
1 | //HTML5 文件类型声明( )更简洁 |
标签方面
1 | <header>、<footer>、<section>、<article>、<nav>、<hgroup>、<aside>、<figure> |
另外通过增加了<audio>、<video>
两个标签来实现对多媒体中的音频、视频使用的支持。
属性方面
增加了一些表单属性, 主要是其中的input属性的增强1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<!-- 此类型要求输入格式正确的email地址 -->
<input type=email >
<!-- 要求输入格式正确的URL地址 -->
<input type=url >
<!-- 要求输入格式数字,默认会有上下两个按钮 -->
<input type=number >
<!-- 时间系列,但目前只有 Opera和Chrome支持 -->
<input type=date >
<input type=time >
<input type=datetime >
<input type=datetime-local >
<input type=month >
<input type=week >
<!-- 默认占位文字 -->
<input type=text placeholder="your message" >
<!-- 默认聚焦属性 -->
<input type=text autofacus="true" >
<!-- 只写属性名默认为true -->
<input type="checkbox" checked/>
<!-- 属性名="属性名"也为true -->
<input type="checkbox" checked="checked"/>
其他标签新增了一些属性1
2
3
4<!-- meta标签增加charset属性 -->
<meta charset="utf-8">
<!-- script标签增加async属性 -->
<script async></script>
存储方面
1、新增WebStorage, 包括localStorage和sessionStorage
2、引入了IndexedDB和Web SQL,允许在浏览器端创建数据库表并存储数据, 两者的区别在于IndexedDB更像是一个NoSQL数据库,而WebSQL更像是关系型数据库。W3C已经不再支持WebSQL。
3、引入了应用程序缓存器(application cache),可对web进行缓存,在没有网络的情况下使用,通过创建cache manifest文件,创建应用缓存,为PWA(Progressive Web App)提供了底层的技术支持。
meta标签属性汇集?
http-equiv属性
1 | <!-- 使用浏览器版本 --> |
charset属性
1 | <!-- 定义网页文档的字符集 --> |
name + content属性
1 | <!-- 网页作者 --> |
href和src 一些不同之处?
常见场景及定义:
1 | <a href="http://www.baidu.com"></a> |
浏览器解析方式
当浏览器遇到href会并行下载资源并且不会停止对当前文档的处理。(同时也是为什么建议使用 link 方式加载 CSS,而不是使用 @import 方式)
当浏览器解析到src ,会暂停其他资源的下载和处理,直到将该资源加载或执行完毕。(这也是script标签为什么放在底部而不是头部的原因)
作用结果
href 用于在当前文档和引用资源之间确立联系
src 用于替换当前内容
script标签中defer和async 一些不同之处?
默认情况下,脚本的下载和执行将会按照文档的先后顺序同步进行。当脚本下载和执行的时候,文档解析就会被阻塞,在脚本下载和执行完成之后文档才能往下继续进行解析。
下面是async和defer两者区别:
当script中有defer属性时,脚本的加载过程和文档加载是异步发生的,等到文档解析完(DOMContentLoaded事件发生)脚本才开始执行。
当script有async属性时,脚本的加载过程和文档加载也是异步发生的。但脚本下载完成后会停止HTML解析,执行脚本,脚本解析完继续HTML解析。
当script同时有async和defer属性时,执行效果和async一致。
小结
粗略的统计了一下 印象中的 ,后续再补充. 一步步完善. 巩固知识体系书面化.