HTML5学习笔记简明版(1):HTML5介绍与语法
2014-05-09 19:21
671 查看
HTML5介绍
HTML5是继HTML4以后的下一代HTML标准规范,它提供了一些新的元素和属性(例如<nav>网站导航块和
<footer>)。新型的标签有利于搜索引擎和语义分析,同时更好地帮助小屏幕装置和视障人士使用,除此之外,也提供了一些新的功能,比如视频音频用的
<video>和
<audio>,总结而言,有如下几大特点:
取消了一些HTML4里过时的元素和属性标记
其中包括纯粹显示效果的标记,如
<font>和
<center>,它们已经被CSS取代。HTML5 吸取了XHTML2 一些建议,包括一些用来改善文档结构的功能,比如,新的HTML 标签
header,
footer,
dialog,
aside,
figure等的使用,将使内容创作者更加语义地创建文档,之前的开发者在实现这些功能时一般都是使用
div。
内容与展示分离
b和
i标签依然保留,但它们的意义和之前有所不同,这些标签的意义只是为了将一段文字标识出来,而不是为了为它们设置粗体或斜体式样。
u,
font,
center,
strike这些标签则被完全去掉了。
新增加一些全新的表单输入对象
包括日期,URL,Email 地址,其它的对象则增加了对非拉丁字符的支持。HTML5 还引入了微数据,这一使用机器可以识别的标签标注内容的方法,使语义Web 的处理更为简单。总的来说,这些与结构有关的改进使内容创建者可以创建更干净,更容易管理的网页,这样的网页对搜索引擎,对读屏软件等更为友好。
全新的、更合理的标签
多媒体对象将不再全部绑定在
object或
embedTag 中,而是视频有视频的Tag,音频有音频的 Tag。
本地存储
这个功能将内嵌一个本地的SQL 数据库,以加速交互式搜索,缓存以及索引功能。同时,那些离线Web 程序也将因此获益匪浅。不需要插件的富动画。
Canvas对象
将给浏览器带来直接在上面绘制矢量图的能力,这意味着用户可以脱离Flash 和Silverlight,直接在浏览器中显示图形或动画。
新的API扩展
为
HTMLDocument和
HTMLElement借口提供了新的API扩展。
HTML5取代Flash和Silverlight
语法(Syntax)
1 文档媒体类型
HTML5定义的HTML语法大部分都兼容于HTML4和XHTML1,但是也有一部分不兼容。大多数的HTML文档都是保存成text/html媒体类型。HTML5为HTML语法定义了详细的解析规则(包括错误处理),用户必须遵守这些规则将它保存成text/html媒体类型。如下是一个符合HTML语法规范的例子:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Example document</title> </head> <body> <p>Example paragraph</p> </body> </html>
HTML5为HTML语法也定义了一个text/html-sandboxed媒体类型,以便可以host不信任的内容。
其它能够用在HTML5的语法是XML,它兼容于XHTML1。用XML语法的话需要将文档保存成XML媒体类型,并且根据XML的规范需要设置命名空间(namespace)为http://www.w3.org/1999/xhtml。
下面的例子文档符合HTML5里的XML语法规范,需要注意的是XML文档必须保存成XML媒体类型的,例如application/xhtml+xml或者application/xml。
<?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Example document</title> </head> <body> <p>Example paragraph</p> </body> </html>
2 Character Encoding
HTML5的HTML语法里,有三种形式可以声明字符串的encoding类型:在传输级别(transport level)上,在HTTP实例的header里设置Content-Type。
在文件的开头设置一个Unicode的Byte Order Mark(BOM),该字符为文件的encoding方式提供了一个签名。
在文档的前1024个byte之前的内容里,使用带有charset属性的meta元素来声明encoding方式。例如:<meta charset="UTF-8">表明该文档是UTF-8格式的。它是替换原有的<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">语法声明,尽管原有的语法依然可用,但在HTML5里不推荐使用。
对于HTML5里的XML语法,依然和以前的XML语法声明式一样的。
3 DOCTYPE
HTML5的HTML语法要求文档必须声明DOCTYPE以确保浏览器可以在标准模式下展示页面。这个DOCTYPE没有其它的目的,并且在XML里是可选项,因为XML媒体格式的文档一直就是在标准模式下处理的。DOCTYPE的声明方式是<!DOCTYPE html>,不区分大小写。HTML的早期版本声明的DOCTYPE需要很长是因为HTML语言是建立在SGML的基础上,所以需要关联引用一个相对应的DTD。HTML5和之前的版本不一样了,仅仅需要声明DOCTYPE就可以告诉文档启用的是HTML5语法标准了,浏览器会为<!DOCTYPE
html>做剩余的工作的。
4 MathML和SVG
HTML5的HTML语法允许在文档里使用MathML(数学标记语言)和SVG(可伸缩矢量图)元素。例如,一个非常简单的HTML页面包含一个svg元素画出的圆:<!doctype html> <title>SVG in text/html</title> <p> A green circle: <svg> <circle r="50" cx="50" cy="50" fill="green"/> </svg> </p>
更多复杂的组合标记也是支持的,比如使用svg的foreignObject元素你可以嵌套MathML, HTML,或者自身嵌套。
5 其它
HTML5已经原生支持IRI了,尽管这些IRI只能在UTF-8和UTF-16的文档里使用。lang属性如果设置的不合法,将会更新为空字符串,以告诉浏览器是一个未知的语言,作用和XML里的xml:lang一样。
相关文章推荐
- HTML5学习笔记简明版(1):HTML5介绍与语法
- HTML5学习笔记简明版(1):HTML5介绍与语法
- HTML5学习笔记简明版(1):HTML5介绍与语法
- HTML5学习笔记简明版(1):HTML5介绍与语法
- HTML5学习笔记(1):HTML5介绍与语法
- HTML5学习笔记简明版(2):新元素之section,article,aside
- HTML5学习笔记简明版(11):新增的API
- Scala 学习笔记(3)-语法介绍
- HTML5学习笔记简明版(11):新增的API
- 黑马程序员----Objective-C学习笔记之点语法的介绍和使用
- iptables 学习笔记——语法的详细介绍
- StringTemplate.Net 学习笔记(2):语法介绍(表格)
- HTML5学习笔记简明版(2):新元素之section,article,aside
- HTML5学习笔记——基本语法和语义
- openTSDB/Bosun报警语法 介绍/学习笔记
- 学习笔记二--Weex语法介绍
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第19讲_js运行原理_js开发工具介绍_js程序(hello)_js基本语法_学习笔记_源代码图解_PPT文档整理
- Linux系统学习笔记网络相关 ,firewalld和netfilter,netfilter5表5链介绍,iptables语法
- StringTemplate.Net 学习笔记(2):语法介绍(表格)
- HTML5学习笔记简明版(6):新增属性(1)