1、HTML的发展历程

HTML(1994年,W3C成立)

HTML2(1995年)

HTML3(1996年)

HTML4.0(1997年)

HTML4.01(1999年)——HTML5(2008年:最开始由WHATWG【Web Hypertext Application Technology Workoing GROUP】提出并创建,后由W3C制定为标准)

XHTML1.0(2000年)

XHTML1.1(2001年)

注:HTML5现在代表的是“HTML5以及所有相关标准”,包括了许多容易管理的分支。因此说“某某浏览器支持HTML5”是不准确的,其实任何浏览器支持的都是HTML5相关功能的子集。

2、HTML5的三个主要原理

  • 不破坏Web:即HTML5的引入不会导致已有的网页无法工作;
  • 修补牛蹄子路:牛蹄子路是指走起来不是最舒服但使用频率最高的路,HTML5选择使用对用户最适合的方式;
  • 实用至上:HTML5中的所有规则都以实用为最终目标。

3、HTML5对废弃元素的处理

因为HTML5支持所有的HTML(包括HTML4.01和XHTML),因此它包含许多废弃的元素,这令许多新手感到困惑(比如我-_-),因为这样的话那些不遵从规范的人写出的页面可能包含废弃元素,为了解决这个问题,HTML5规范包含两个独立的部分:

  • 面向Web开发人员,它要求开发人员摒弃坏习惯和废弃的元素;
  • 面向浏览器开发商,它要求浏览器必须支持HTML中存在的一切,做到向后兼容,这样即使开发人员的代码中使用了废弃的元素,浏览器也可以正常显示。

4、HTML5的基本格式

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>...</title>
<link href="style.css" rel="stylesheet" />
<script src="java.js"></script>
</head> <body>
<p>...</p>
</body>
</html>

5、HTML5所遵循的约定

  • 必须包含<html>、<body>、<head>元素,并且页面定义自然语言(在<html>标签内);
  • 标签全部小写且空标签要闭合,正确嵌套;
  • 为所有的属性值加引号。

6、HTML5元素家族

  • 新增的元素
类别  
用于构建页面的语义元素

<article>、<aside>、<figure>、<figcaption>、<header>、<footer>、<nav>

<csection>、<details>、<summary>、<main>

用于标识文本的语义元素 <mark>、<time>、<wbr>(用于在某处断行,以前就有,现在已经列入规范)
Web表单及交互

<input>(非新元素,但新增了很多新类型)、<datalist>、<keygen>、<meter>、<progress>

<command>、<menu>、<output>

音频、视频及插件 <audio>、<video>、<source>、<embed>(以前就支持,现在已经规范)
Canvas <canvas>
  • 改变的元素

<small>:不再用于减少文本字体,用于”附属细则“,比如页面底部的那些法律条款;

<hr>:在HTML5中,表示主题的转换,即从一个主题变为另一个主题,默认额的格式不变,只不过含义不同;

<s>:不仅仅表示给文本加删除线那么简单,现在表示不再准确相关的内容。

7、对付旧版本的浏览器

  • 平稳退化:某些新引入的元素可以为老的浏览器提供替代内容(比如<canvas>元素可提供使用Flash插件);如果用户浏览器不支持某项功能,应该选择使用不太花哨的方式;
  • 借助于JavaScript:HTML5中的某些功能可使用优秀的JavaScript库(腻子脚本)来实现。

最新文章

  1. C#中使用反射获取结构体实例
  2. ThinkPHP 3.2.3 数据缓存与静态缓存
  3. Android ImageView src与backgroud
  4. C# 设置程序开机自动运行(+注册表项)
  5. 用Eclipse和GDB构建ARM交叉编译和在线调试环境
  6. golang入门--一个简单的http client
  7. C++ Primer 学习笔记_2_高速入口(继续)
  8. 关于开发中使用writeToFile时的注意事项
  9. Swift 了解(1)
  10. HTML 简述
  11. 新手尝试Android studio连接mumu调试程序
  12. bootstrap.css.map 404
  13. FAT文件系统规范v1.03学习笔记---1.保留区之启动扇区与BPB
  14. 2186 ACM 水题 int 向下取整
  15. HTML转义字符 Unicode和CSS伪类介绍
  16. ACMG遗传变异分类标准与指南
  17. mybatis中@Param的使用
  18. Lintcode---二叉树的最大节点
  19. iOS:多线程的详细介绍
  20. python作业-网络编程

热门文章

  1. zzulioj--1637--Happy Thanksgiving Day - WoW yjj!(水)
  2. hdoj--1276--士兵队列训练问题(数组模拟)
  3. 转:centos下升级git版本的操作记录
  4. Java NIO(三)通道
  5. iOS11即将到来,让我们具体了解下
  6. 编码介绍(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
  7. Python笔记24-----迭代器、生成器的使用(如嵌套列表的展开、树的遍历等)
  8. HDU 5763 Another Meaning (KMP/哈希+DP)
  9. BZOJ 4942 NOI2017 整数 (压位+线段树)
  10. [luogu4195 Spoj3105] Mod (大步小步)