一、HTML5语法
沿用了HTML的语法(已往过去的语法,是SGML语法的一个子集),更简洁,更人性化。
1.DOCTYPE及字符编码
① DOCTYPE:<!doctype html>
② 字符编码:<meta charset="utf-8">
③ 给文档指定语言:<html lang="zh-CN">
2.大小写都可以
① 目的是为了兼容更多的文档,在HTML5里不区分大小写
建议:写代码最好规范,最好小写
3.布尔值
① <input type="checkbox" checked/>
在这里checked写上就表示true,如果不写就表示false。而不用像HTML4中要写成checked="checked"了。
4.省略引号
① <input type="text" />
② <input type='text'>
③ <input type=text>
上面三种写法都可以,当然如果属性值中出现空格,就必须写引号或双引号
建议:属性中,引号最好是双引号
1、不允许写结束符的标签:area , basebr , col, command , embed , hr , img , input , keygen , link , meta , param , source , track , wbr<xx/>
2、可以省略结束符的标签:li , dt , dd , p , rt , optgroup , colgroup , thread , tbody , tr , td , th省略</XXX>
3、可以完全省略的标签:html , head , body , colgroup , tbody
二、增加标签:
1、结构标签
(1)section:独立内容区块,可以用h1~h6组成大纲,表示文档结构,也可以有章节、页眉、页脚或页眉的其他部分;
(2)article:特殊独立区块,表示这篇页眉中的核心内容;
(3)aside:标签内容之外与标签内容相关的辅助信息;
(4)header:某个区块的头部信息/标题;
(5)hgroup:头部信息/标题的补充内容;
(6)footer:底部信息;
(7)nav
(8)figure:独立的单元,例如某个有图片与内容的新闻块。
2、表单标签
(1)email:必须输入邮件;
(2)url:必须输入url地址;
(3)number:必须输入数值;
(4)range:必须输入一定范围内的数值;
(5)Date Pickers:日期选择器;
a.date:选取日、月、年
b.month:选取月、年
c.week:选取周和年
d.time:选取时间(小时和分钟)
e.datetime:选取时间、日、月、年(UTC时间)
f.datetime-local:选取时间、日、月、年(本地时间)
(6)search:搜索常规的文本域;
(7)color
3、媒体标签
(1)video:视频
(2)audio:音频
(3)embed:嵌入内容(包括各种媒体),Midi、Wav、AU、MP3、Flash、AIFF等。
4、其他功能标签
(1)mark:标注(像荧光笔做笔记)
(2)progress:进度条;<progress max="最大进度条的值" value="当前进度条的值">
(3)time:数据标签,给搜索引擎使用;
发布日期<time datetime="2014-12-25T09:00">9:00</time>
更新日期<time datetime="2015-01-23T04:00" pubdate>4:00</time>
(4)ruby和rt:对某一个字进行注释;<ruby><rt>注释内容</rt><rp>浏览器不支持时如何显示</rp></ruby>
(5)wbr:软换行,页面宽度到需要换行时换行;
(6)canvas:使用JS代码做内容进行图像绘制;
(7)command:按钮;
(8)deteils :展开菜单;
(9)dateilst:文本域下拉提示;
(10)keygen:加密;
三、新增属性
manifest属性:定义页面需要用到的离线应用文件,一般放在<html>标签里
charset属性:meta属性之一,定义页面的字符集
sizes属性:<link>新增属性,当link的rel="icon"时,用以设置图标大小
base属性:<base href="http://localhost/" target="_blank">表示当在新窗口打开一个页面时,会将href中的内容作为前缀添加到地址前
defer属性:script标签属性,表示脚本加载完毕后,只有当页面也加载完毕才执行(推迟执行)
async属性:script标签属性,脚本加载完毕后马上执行(运行过程中浏览器会解析下面的内容),即使页面还没有加载完毕(异步执行)
media属性:<a>
元素属性:表示对何种设备进行优化
hreflang属性:<a>
的属性,表示超链接指向的网址使用的语言
ref属性:<a>
的属性,定义超链接是否是外部链接
reversed属性:<ol>
的属性,定义序号是否倒叙
start属性:<ol>
的属性,定义序号的起始值
scoped属性:内嵌CSS样式的属性,定义该样式只局限于拥有该内嵌样式的元素,适用于单页开发
seamless:<iframe>
的属性,定义该框架没有边框没有边距
srcdoc:<iframe>
的属性,定义该框架的内容,会覆盖src属性的内容
sandbox:<iframe>
的属性,定义该框架在安全级别上受到严格限制,比如不允许打开框架中的超链接、禁止提交表单,禁止运行JavaScript等,相当于将框架中的内容设置为异源(不能跨域访问)
四、 HTML5全局属性:
data-yourvalue、hidden、Spenllecheck、tabindex、contenteditable、desginMode;
全局属性:
1.可直接在标签里插入的:
data-自定义属性名字;
hidden(直接放上去就是隐藏);
spellcheck="true"(语法纠错);
tabindex="1"(Tab跳转顺序);
contenteditable="true"(可编辑状态,单击内容,可修改);
2.在JavaScript里插入的
window.document.designMode = 'on'(JavaScript的全局属性,整个页面的文本都可以编辑了);
五、综合案例
1、HTML5 <section> 元素
<section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
根据W3C HTML5文档: section 包含了一组内容及其标题。
2、HTML5 <article> 元素
<article> 标签定义独立的内容。
3、HTML5 <nav> 元素
<nav> 标签定义导航链接的部分。
<nav> 元素用于定义页面的导航链接部分区域,但是,不是所有的链接都需要包含在 <nav> 元素中!
4、HTML5 <aside> 元素
<aside> 标签定义页面主区域内容之外的内容(比如侧边栏)。
aside 标签的内容应与主区域的内容相关.
5、HTML5 <header> 元素
<header>元素描述了文档的头部区域
<header>元素注意用于定义内容的介绍展示区域.
在页面中你可以使用多个<header> 元素.
6、HTML5 <footer> 元素
<footer> 元素描述了文档的底部区域.
<footer> 元素应该包含它的包含元素
一个页脚通常包含文档的作者,著作权信息,链接的使用条款,联系信息等
文档中你可以使用多个 <footer>元素.
7、HTML5 <figure> 和 <figcaption> 元素
<figure>标签规定独立的流内容(图像、图表、照片、代码等等)。
<figure> 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。
<figcaption> 标签定义 <figure> 元素的标题.
<figcaption>元素应该被置于 "figure" 元素的第一个或最后一个子元素的位置。