HTML5与HTML4的区别

1、语法的改变                                                      
HTML5中的标记方法:仍然为"text/html".
Doctype声明:刻意不使用版本,不区分大写,<!DOCTYPE html>.
指定字符编码:<meta charset="UTF-8">,也可以使用HTML4的方式(content)来指定。

在HTML5中,元素的标记可以省略。
不允许写结束标记的元素有(只允许"<元素/>"):area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr.
可以省略标记的有:li,dt,dd,p,rt,rp,optgroup,option,colgroup,thead,tbody,tfoot,tr,td,th.
可以省略全部标记的元素有:html,head,body,colgroup,tbody.

有boolen值的属性。
省略引号:属性值没有<,>, 引号等特殊字符时,可以省略引号。
2新增的元                                  
新增的结构元素
Section:表示页面中的一个内容区块。
article:表示页面中的一块与上下文不相关的独立内容。
aside:表示article元素的内容之外的,与article元素相关的辅助信息。
header:表示页面中一个内容区块或整个页面的标题。
hgroup:将标题进行组合。
footer:表示整个页面或者页面中的一个内容区块的脚注。
nav:导航链接的部分。
figure:表示一段独立的流内容,一般表示文档主题流内容中的一个独立单元。使用figcaption元素为figure元素组添加标题。
新增的其他元素
video
audio
embed:用来插入各种多媒体。
mark:突出显示或者高亮显示。
process:表示运行中的进程。
time:表示日期或者时间,可以同时表示两者。
ruby:表示ruby注释(中文注音或字符)。
rt:表示字符(中文注音或字符)的解释或者发音。
rp:在ruby注释中使用,以定义不支持ruby元素的浏览器所显示的内容。
wbr:软换行。
canvas:表示图形。
command:表示命令按钮,如单选,复选。
details:表示用户要求得到并且可以得到的细节信息。
datalist:表示可选数据的列表。可与input配合作出下拉列表。
datagrid:表示可选的数据列表。
keygen:表示生成密钥。
output:表示不同类型的输出。
source:为媒介定义媒介资源。
menu:表示菜单列表。
新增的input元素:
email
url
number
range
Date Pickers
废除的元素:
basefont,big,font,s,strike,tt,u.被废除,使用编辑CSS,添加CSS样式表的方式进行替代。
不再使用frame框架,只支持iframe框架。
只有部分浏览器支持的元素applet,bgsound,blink,marquee等,被废除。
其他:
rb,用ruby代替
acronym,使用abbr代替
dir,用ul代替
isindex,使用pre代替
xmp,用code代替
nextid,使用GUIDS替代
plaintext,使用"text/plain"MIME类型替代
3、新增的属性和废除的属性                                  
新增的表单属性:
input、select、textarea与Button指定autofocus.
input和textare指定placeholder.
input,output,select,textarea,button,fieldset指定form,声明属于哪个表单。
input,textarea指定required属性。
input新属性:autocomplete,min,max,multiple,pattern,step.
list与datalist配合使用,dadtalist与autocomplate使用,multiple允许一次上传多个文件。
input,button新属性formaction,formenctype,formmethod,formnovalidate,formtarget,它们可以重载form对应的属性。filedset元素增加了disabled属性,可以把它的子元素设为disabled状态。
input,button,form增加了novalidate属性。
链接相关属性:
a与area的media,在href存在时使用,规定目标类型。
area增加了hreflang与rel属性。
link增加了sizes属性。
base增加了target属性。
其他属性:
ol的reversed。
meta的charset。
menu的type和label。
style的scoped属性,规定样式的作用范围。
scrip的async,定义脚本是否异步执行。
html的manifest,开发离线web应用时与api结合使用,定义一个url,在这个url上描述文档的缓存信息。
iframe的sandbox,seamless,srcdoc,用来提高页面的安全性。
废除的属性:取消了多余属性,还有很多使用CSS替代。
4、全局属性(可以对任何元素使用)                        
contentEditable:运行用户编辑元素中的内容。 为布尔值属性,可以指定true或者false。
inherit状态,未指定true或者false时,和父元素一致。
isContentEditable:当元素可编辑时为true。

designMode:用来指定整个页面是否可编辑。
值为"on"或"off",只能在js脚本里修改该属性。如:document.designMode="on"
IE8不支持。
hidden:通知浏览器不渲染该元素,处于不可见状态。"true"或者"false".
spellcheck:text或者textarea输入框对用户输入文本进行拼写和语法检查(readOnly和disabled除外)。必须指定"true"或者"false"
IE不支持。
tabindex:设为负数时,按tab不会获得焦点。

原文地址:https://www.cnblogs.com/lynn-/p/3451923.html