什么是 HTML5?

HTML5 是最新的 HTML 标准。

HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件。

HTML5 拥有新的语义、图形以及多媒体元素。

HTML5 提供的新元素和新的 API 简化了 web 应用程序的搭建。

HTML5 是跨平台的,被设计为在不同类型的硬件(PC、平板、手机、电视机等等)之上运行。

注释:在下面的章节中,您将学到如何“帮助”老版本的浏览器处理 HTML5。

HTML5 中的新内容?

HTML5 的新的文档类型(DOCTYPE)声明非常简单:

<!DOCTYPE html>
The new character encoding (charset) declaration is also very simple:
<meta charset="UTF-8">

HTML5 实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body>
Content of the document......
</body>
</html>

注释:HTML5 中默认的字符编码是 UTF-8。

HTML5 - 新的属性语法

HTML5 标准允许 4 中不同的属性语法。

本例演示在 <input> 标签中使用的不同语法:

类型 示例
Empty <input type="text" value="John Doe" disabled>
Unquoted <input type="text" value=John Doe>
Double-quoted <input type="text" value="John Doe">
Single-quoted <input type="text" value='John Doe'>

在 HTML5 标准中,根据对属性的需求,可能会用到所有 4 种语法。

HTML5 - 新特性

HTML5 的一些最有趣的新特性:

  • 新的语义元素,比如 <header>, <footer>, <article>, and <section>。
  • 新的表单控件,比如数字、日期、时间、日历和滑块。
  • 强大的图像支持(借由 <canvas> 和 <svg>)
  • 强大的多媒体支持(借由 <video> 和 <audio>)
  • 强大的新 API,比如用本地存储取代 cookie。

HTML5 - 被删元素

以下 HTML 4.01 元素已从 HTML5 中删除:

  • <acronym>
  • <applet>
  • <basefont>
  • <big>
  • <center>
  • <dir>
  • <font>
  • <frame>
  • <frameset>
  • <noframes>
  • <strike>
  • <tt>

    HTML5 浏览器支持

    所有现代浏览器都支持 HTML5。

    此外,所有浏览器,不论新旧,都会自动把未识别元素当做行内元素来处理。

    正因如此,您可以帮助老式浏览器处理”未知的“ HTML 元素。

    注释:您甚至可以教授石器时代的 IE6 如何处理未知的 HTML 元素。

    把 HTML5 元素定义为块级元素

    HTML5 定义了八个新的语义 HTML 元素。所有都是块级元素。

    您可以把 CSS display 属性设置为 block,以确保老式浏览器中正确的行为:

    实例

    header, section, footer, aside, nav, main, article, figure {
    display: block;
    }

    向 HTML 添加新元素

    您可以通过浏览器 trick 向 HTML 添加任何新元素:

    本例向 HTML 添加了一个名为 <myHero> 的新元素,并为其定义 display 样式:

    实例

    <!DOCTYPE html>
    <html> <head>
    <title>Creating an HTML Element</title>
    <script>document.createElement("myHero")</script>
    <style>
    myHero {
    display: block;
    background-color: #ddd;
    padding: 50px;
    font-size: 30px;
    }
    </style>
    </head> <body> <h1>My First Heading</h1> <p>My first paragraph.</p> <myHero>My First Hero</myHero> </body>
    </html>

    已添加的 JavaScript 语句 document.createElement("myHero"),仅适用于 IE。

    Internet Explorer 的问题

    上述方案可用于所有新的 HTML5 元素,但是:

    注意:Internet Explorer 8 以及更早的版本,不允许对未知元素添加样式。

    幸运的是,Sjoerd Visscher 创造了 "HTML5 Enabling JavaScript", "the shiv":

    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    The code above is a comment, but early versions of IE9 will read it (and understand it).

    完整的 Shiv 解决方案

    实例

    <!DOCTYPE html>
    <html> <head>
    <title>Styling HTML5</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    </head> <body> <h1>My First Article</h1> <article>
    London is the capital city of England.
    It is the most populous city in the United Kingdom,
    with a metropolitan area of over 13 million inhabitants.
    </article> </body>
    </html>

    引用 shiv 代码的链接必须位于 <head> 元素中,因为 Internet Explorer 需要在读取之前认识所有新元素。

    HTML5 Skeleton

    实例

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <title>HTML5 Skeleton</title>
    <meta charset="utf-8"> <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
    </script>
    <![endif]--> <style>
    body {font-family: Verdana, sans-serif; font-size:0.8em;}
    header,nav, section,article,footer
    {border:1px solid grey; margin:5px; padding:8px;}
    nav ul {margin:0; padding:0;}
    nav ul li {display:inline; margin:5px;}
    </style>
    </head> <body> <header>
    <h1>HTML5 SKeleton</h1>
    </header> <nav>
    <ul>
    <li><a href="html5_semantic_elements.asp">HTML5 Semantic</a></li>
    <li><a href="html5_geolocation.asp">HTML5 Geolocation</a></li>
    <li><a href="html5_canvas.asp">HTML5 Graphics</a></li>
    </ul>
    </nav> <section> <h1>Famous Cities</h1> <article>
    <h2>London</h2>
    <p>London is the capital city of England. It is the most populous city in the United Kingdom,
    with a metropolitan area of over 13 million inhabitants.</p>
    </article> <article>
    <h2>Paris</h2>
    <p>Paris is the capital and most populous city of France.</p>
    </article> <article>
    <h2>Tokyo</h2>
    <p>Tokyo is the capital of Japan, the center of the Greater Tokyo Area,
    and the most populous metropolitan area in the world.</p>
    </article> </section> <footer>
    <p>© 2014 W3Schools. All rights reserved.</p>
    </footer> </body>
    </html> 新的语义/结构元素

    HTML5 提供的新元素可以构建更好的文档结构:

    标签 描述
    <article> 定义文档内的文章。
    <aside> 定义页面内容之外的内容。
    <bdi> 定义与其他文本不同的文本方向。
    <details> 定义用户可查看或隐藏的额外细节。
    <dialog> 定义对话框或窗口。
    <figcaption> 定义 <figure> 元素的标题。
    <figure> 定义自包含内容,比如图示、图表、照片、代码清单等等。
    <footer> 定义文档或节的页脚。
    <header> 定义文档或节的页眉。
    <main> 定义文档的主内容。
    <mark> 定义重要或强调的内容。
    <menuitem> 定义用户能够从弹出菜单调用的命令/菜单项目。
    <meter> 定义已知范围(尺度)内的标量测量。
    <nav> 定义文档内的导航链接。
    <progress> 定义任务进度。
    <rp> 定义在不支持 ruby 注释的浏览器中显示什么。
    <rt> 定义关于字符的解释/发音(用于东亚字体)。
    <ruby> 定义 ruby 注释(用于东亚字体)。
    <section> 定义文档中的节。
    <summary> 定义 <details> 元素的可见标题。
    <time> 定义日期/时间。
    <wbr> 定义可能的折行(line-break)。

    阅读更多有关 HTML5 语义的内容。

    新的表单元素

    标签 描述
    <datalist> 定义输入控件的预定义选项。
    <keygen> 定义键对生成器字段(用于表单)。
    <output> 定义计算结果。

    阅读更多有关 HTML 表单元素中新老元素。

    新的输入类型

    新的输入类型 新的输入属性
    • color
    • date
    • datetime
    • datetime-local
    • email
    • month
    • number
    • range
    • search
    • tel
    • time
    • url
    • week
    • autocomplete
    • autofocus
    • form
    • formaction
    • formenctype
    • formmethod
    • formnovalidate
    • formtarget
    • height 和 width
    • list
    • min 和 max
    • multiple
    • pattern (regexp)
    • placeholder
    • required
    • step

    学习 HTML 输入类型中的所有新老输入类型。

    学习 HTML 输入属性中的所有输入属性。

    HTML5 - 新的属性语法

    HTML5 允许四种不同的属性语法。

    该例演示 <input> 标签中使用的不同语法:

    标签 描述
    Empty <input type="text" value="John Doe" disabled>
    Unquoted <input type="text" value=John>
    Double-quoted <input type="text" value="John Doe">
    Single-quoted <input type="text" value='John Doe'>

    在 HTML5 中,根据属性所需,可能会使用所有这四种语法。

    HTML5 图像

    标签 描述
    <canvas> 定义使用 JavaScript 的图像绘制。
    <svg> 定义使用 SVG 的图像绘制。

    阅读更多有关 HTML5 Canvas 的内容。

    阅读更多有关 HTML5 SVG 的内容。

    新的媒介元素

    标签 描述
    <audio> 定义声音或音乐内容。
    <embed> 定义外部应用程序的容器(比如插件)。
    <source> 定义 <video> 和 <audio> 的来源。
    <track> 定义 <video> 和 <audio> 的轨道。
    <video> 定义视频或影片内容。

    阅读更多有关 HTML5 视频的内容。

    阅读更多有关 HTML5 音频的内容。

HTML5 简介、浏览器支持、新元素的更多相关文章

  1. HTML5 API 浏览器支持情况检测

    HTML5发展到现在,虽说没有大规模的普及,但在我们日常生活中,也很容易见到了,HTML5的游戏.网站.应用也是层出不穷.而作为前端人员,也应该多了解这些API为以后应用打基础,下面我将给大家介绍 H ...

  2. HTML5的浏览器支持方案

    现代的浏览器基本都支持 HTML5,此外还有老浏览器. 不管是旧的还是最新的,HTML5对无法识别的元素会作为内联元素自动处理. 所以,在这里教大家怎么让浏览器去处理"未知"的HT ...

  3. CSS3&HTML5各浏览器支持情况一览表

    http://fmbip.com/ CSS3性质(CSS3 Properties) 平台 MAC WIN 浏览器 CHROME FIREFOX OPERA SAFARI CHROME FIREFOX ...

  4. HTML5 移动浏览器支持

  5. [HTML5] 让IE支持HTML5的方法

    越来越多的站点开始使用 HTML5 标签,但是目前的情况是还有很多人在使用IE6.IE7.IE8.为了让所有浏览者都可以正常的访问,解决方案有下面两个: 1.为网站创建多套模板,通过程序对User-A ...

  6. HTML5简介及HTML5的发展前景

    WEB技术发展越来越迅速,HTML5的到来更是把WEB技术推向了巅峰,目前HTML5技术已经日趋成熟,不仅在PC段,HTML5更是在移动终端上也有广泛的应用,HTML5的未来十分光明,值得我们去学习. ...

  7. HTML5 简介、HTML5 浏览器支持

    HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定. HTML5的设计目的是为了在移动设备上支持多媒体. HTML5 简单易学. 什么是 HTML5? HTML5 ...

  8. Html5浏览器支持

    HTML5 浏览器支持 把 HTML5 元素定义为块级元素 语义块级displayblock实例 header, section, footer, aside, nav, main, article, ...

  9. 让ie浏览器支持html5新标签的解决方法(使用html5shiv)

    没估计错的话旧版浏览器都是不识别这些新增的标签所以都是用行内元素来处理解决的,所以,有一个解决办法的突破口就是让它变成块状元素就不会处于同一行了,这样在新旧浏览器都是可以显示同样的效果,再者就是让浏览 ...

随机推荐

  1. HDU1251-统计难题(字典树)

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  2. 丑数 LeeTCode

    题目链接:http://www.lintcode.com/zh-cn/problem/ugly-number-ii/ 题目描述:设计一个算法,找出只含素因子2,3,5 的第 n 大的数.符合条件的数如 ...

  3. 漂亮的HTML表格 - ebirdfighter的日志 - 网易博客

    一个像素边框的表格: Info Header 1 Info Header 2 Info Header 3 Text 1A Text 1B Text 1C Text 2A Text 2B Text 2C ...

  4. Ubuntu“无法解析或打开软件包的列表或是状态文件”的解决办法。_StarSasumi_新浪博客

    Ubuntu"无法解析或打开软件包的列表或是状态文件"的解决办法. (2011-04-30 14:56:14) 转载▼ 标签: ubuntu apt 分类: Ubuntu/Linu ...

  5. Spring自学教程-IOC、DI、AOP(二)

    一.spring的IOC-就是怎样使用spring来创建对象 二.springDI(依赖注入)-就是怎样给属性赋值 通过set方式赋值 以下我们只需要记住两点的赋值,基本类型和引用类型的赋值 基本类型 ...

  6. 4、手把手教你Extjs5(四)主界面上加入顶部和底部区域

    这一节为主界面加一个顶部区域和底部区域.一个管理系统的界面可以粗分为顶部标题部分.中间数据展示和处理的部分.底部备注和状态部分. 在增加这二个区域之前,我们先在MainModel.js中加入一些数据. ...

  7. 使用DLL进行不同语言之间的调用(转)

    源:使用DLL进行不同语言之间的调用 __declspec(dllexport) 是告诉编译器用来导出函数的,在代码中不另作说明了. extern "C" 的意思就是用C的方式来导 ...

  8. UVA 11551 Experienced Endeavour

    矩阵快速幂. 题意事实上已经告诉我们这是一个矩阵乘法的运算过程. 构造矩阵:把xi列的bij都标为1. 例如样例二: #include<cstdio> #include<cstrin ...

  9. S3C2440时钟系统详解

    在讲述系统时钟之前,因为这些设备都是挂靠在系统时钟上的,所以必须先说系统时钟,S3C2440的时钟系统如下 外部时钟源分两种,晶振或者外部频率,由om3-2选择,时钟电路根据两种选择也有两种 我们来分 ...

  10. 推荐一款非常好用的java反编译工具(转)

    源: 推荐一款非常好用的java反编译工具