简单整理HTML5的基本特性和语法


Posted in HTML / CSS onFebruary 18, 2016

HTML5 概述
HTML5 是 HTML 标准的下一个重要版本,用来替代 HTML 4.01,XHTML 1.0 以及 XHTML 1.1。HTML5 也是一种在万维网上构建和呈现内容的标准。

HTML5 是万维网联盟(W3C)和网页超文本技术工作小组(WHATWG)合作的产物。

这一新标准中加入了视频播放和拖放等特性,过去这都依赖于第三方浏览器插件,比如 Adobe Flash,Microsoft Silverlight 以及 Google Gears。

浏览器支持
最新版 Apple Safari,Mozilla FireFox 和 Opera 支持大部分 HTML5 特性,IE9 也支持一些 HTML5 的功能。

预装在 iPhones,iPads 和 Android 手机上的手机浏览器都对 HTML5 有良好的支持。

新特性
HTML5 引入了许多新元素和属性帮助我们构建现代化的网站。下面是 HTML5 引入的主要特性:

新的语义化元素: 比如 <header>,<footer> 和 <section>。

表单 2.0: 改进了 HTML Web 表单,为 <input> 标签引入了一些新的属性。

持久的本地存储: 为了不通过第三方插件实现。

WebSocket: 用于 Web 应用程序的下一代双向通信技术。

服务器推送事件: HTML5 引入了从 Web 服务器到 Web 浏览器的事件,也被称作服务器推送事件(SSE)。

Canvas: 支持用 JavaScript 以编程的方式进行二维绘图。

音频和视频: 在网页中嵌入音频或视频而无需借助第三方插件。

地理定位: 用户可以选择与我们的网页共享他们的地理位置。

微数据: 允许我们创建 HTML5 之外的自定义词汇表,以及使用自定义语义扩展网页。

拖放: 把同一网页上的条目从一个位置拖放到另一个位置。

向后兼容
HTML5 被设计为尽可能的对现有浏览器向后兼容。新特性都是建立在现有特性的基础上,并且允许我们为旧浏览器提供备用内容。

建议使用少量的 JavaScript 代码检测单个 HTML5 特性的支持度。

HTML5 语法

HTML5 有“自己的” HTML 语法,它与已经发布在网络上的 HTML 4 以及 XHTML1 文档兼容,但是不兼 HTML 4 中更复杂的 SGML 特性。

HTML5 并没有 XHTML 中需要小写标签名,属性要带引号,属性必须有一个值以及必须闭合所有空元素的语法规则。

但是 HTML5 更具灵活性,支持下列形式:

标签名大写。
属性的双引号可选。
属性值可选。
闭合空元素可选。
DOCTYPE
在老版本的 HTML 中,DOCTYPE 很长,因为 HTML 语言是基于 SGML 的,需要引用一个 DTD。

HTML5 作者可以使用简单的语法来指定如下形式的 DOCTYPE:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  

上述语法不区分大小写。

字符编码
HTML5 作者可以使用简单的语法指定字符编码,如下所示:

XML/HTML Code复制内容到剪贴板
  1. <meta charset="UTF-8">  

上述语法不区分大小写。

<script> 标签
常见的做法是给 script 元素添加一个值为 "text/javascript" 的 type 属性,如下所示:

XML/HTML Code复制内容到剪贴板
  1. <script type="text/javascript" src="scriptfile.js"></script>  

HTML5 移除了所需的额外信息,我们可以使用如下所示的简单语法:

XML/HTML Code复制内容到剪贴板
  1. <script src="scriptfile.js"></script>  

<link> 标签
目前为止我们这样编写 <link>:

XML/HTML Code复制内容到剪贴板
  1. <link rel="stylesheet" type="text/css" href="stylefile.css">  

HTML5 移除了所需的额外信息,我们可以使用如下所示的简单语法:

XML/HTML Code复制内容到剪贴板
  1. <link rel="stylesheet" href="stylefile.css">  

HTML5 元素
HTML5 元素使用起始标签和结束标签标记。标签使用尖括号之间的标签名限定。

起始标签和结束标签的区别在于后者标签名前面包含一个斜杠。

下面是一个 HTML5 元素示例:

XML/HTML Code复制内容到剪贴板
  1. <p>...</p>  

HTML5 标签名不区分大小写,可以全部大写或者混合使用,虽然最常见的约定是始终使用小写。

大多数元素都包含一些内容,比如 <p>...</p> 包含一个段落。但是,有些元素不能包含任意内容,它们被称作空白元素。比如,br,hr,link 和 meta 等等。

HTML5 文档
为了得到更好的结构,引入了下面的标签:

section: 这个标签表示一个通用的文档或者应用程序节。它可以和 h1-h6 一起使用来表示文档结构。

article: 这个标签表示文档内容的一个独立块,比如博客条目或者报纸上的文章。

aside: 这个标签表示与页面其他部分略微相关的内容块。

header: 这个标签表示一个节的头部。

footer: 这个标签表示一个节的脚注,可以包含作者,版权等信息。

nav: 这个标签表示用于导航文档的节。

dialog: 这个标签可以用于标记会话。

figure: 这个标签可以用于关联标题和某些嵌入内容,比如图表和视频。
一个 HTML5 文档的标记看起来就像下面这样:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4.    <meta charset="utf-8">  
  5.    <title>...</title>  
  6. </head>  
  7. <body>  
  8.   <header>...</header>  
  9.   <nav>...</nav>  
  10.   <article>  
  11.     <section>  
  12.       ...   
  13.     </section>  
  14.   </article>  
  15.   <aside>...</aside>  
  16.   <footer>...</footer>  
  17. </body>  
HTML / CSS 相关文章推荐
玩转CSS3色彩
Jan 16 HTML / CSS
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
Jan 07 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
Jul 14 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
Dec 30 HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 HTML / CSS
CSS3实现线性渐变用法示例代码详解
Aug 07 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
Sep 27 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
Jan 31 HTML / CSS
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
Mar 25 HTML / CSS
Html5 Geolocation获取地理位置信息实例
Dec 09 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
Dec 11 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
Sep 19 HTML / CSS
HTML5实现预览本地图片
Feb 17 #HTML / CSS
HTML5新特性之用SVG绘制微信logo
Feb 03 #HTML / CSS
HTML5未来发展趋势
Feb 01 #HTML / CSS
详解HTML5中的Communication API基本使用方法
Jan 29 #HTML / CSS
HTML5中的音频和视频媒体播放元素小结
Jan 29 #HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
Jan 29 #HTML / CSS
Html5 audio标签样式的修改
Jan 28 #HTML / CSS
You might like
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
用Python进行行为驱动开发的入门教程
2015/04/23 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
Python单元测试简单示例
2018/07/03 Python
flask应用部署到服务器的方法
2019/07/12 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
python 实现单通道转3通道
2019/12/03 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
电气自动化自荐信
2013/10/10 职场文书
上课玩手机检讨书
2014/02/08 职场文书
销售队伍口号
2014/06/11 职场文书
离职证明标准格式
2014/09/15 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
教师年度考核个人总结
2015/02/12 职场文书
php png失真的原因及解决办法
2021/11/17 PHP