主页 > 洞察 > 开发资讯 > 网站开发
  • H5开发(一):HTML5的概述、语法和属性

    adinnet / 2017-08-29 17:08 /网站开发

    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:

    <!DOCTYPE html>

    上述语法不区分大小写。

    字符编码

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

    <meta charset="UTF-8">

    上述语法不区分大小写。

    <script> 标签

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

    <script type="text/javascript" src="scriptfile.js"></script>

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

    <script src="scriptfile.js"></script>

    <link> 标签

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

    <link rel="stylesheet" type="text/css" href="stylefile.css">

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

    <link rel="stylesheet" href="stylefile.css">

    HTML5 元素

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

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

    下面是一个 HTML5 元素示例:

    <p>...</p>

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

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

    这里有一个完整的 HTML5 元素列表。

    HTML5 属性

    元素可以包含属性(attributes),用来给一个元素设置各种属性(properties)。

    有些属性被定义为全局的,可以用在任何元素上,而其他的被定义为元素特有的。所有的属性都有一个名称和一个值,看起来如下面的示例所示。

    下面是一个使用 HTML5 属性的例子,演示了如何用名为 class 的属性和值 “example” 标记一个 div 元素:

    <div class="example">...</div>

    属性只能在起始标签中指定,绝对不能用在结束标签中。

    HTML5 属性不区分大小写,可以全部大写或者混合使用,尽管更常见的约定是始终使用小写。

    这里有一个完整的 HTML5 属性列表。

    HTML5 文档

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

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

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

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

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

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

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

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

    • figure: 这个标签可以用于关联标题和某些嵌入内容,比如图表和视频。

    一个 HTML5 文档的标记看起来就像下面这样:

    <!DOCTYPE html>
    <html>
    <head>
       <meta charset="utf-8">
       <title>...</title>
    </head>
    <body>
      <header>...</header>
      <nav>...</nav>
      <article>
        <section>
          ...
        </section>
      </article>
      <aside>...</aside>
      <footer>...</footer>
    </body>


    HTML5 属性

    正如 HTML5 语法中所阐述的,元素可以包含属性(attributes)给一个元素设置各种属性(properties)。

    有些属性被定义为全局的,可以用在任何元素上,而其他的被定义为元素特有的。所有的属性都有一个名称和一个值,看起来如下面的示例所示。

    下面是一个使用 HTML5 属性的例子,演示了如何用名为 class 的属性和值 “example” 标记一个 div 元素:

    <div class="example">...</div>

    属性只能在起始标签中指定,绝对不能用在结束标签中。

    HTML5 属性不区分大小写,可以全部大写或者混合使用,尽管更常见的约定是始终使用小写。

    标准属性

    下面列出的属性几乎所有的 HTML5 标签都支持。

    属性选项功能
    accesskey用户自定义定义访问元素的键盘快捷键。
    alignright, left, center水平对齐标签。
    backgroundURL在元素后面设置一个背景图像。
    bgcolor数值,十六进制值,RGB值在元素后面设置一个背景颜色。
    class用户定义。分类一个元素,便于使用级联样式表。
    contenteditabletrue, false定义用户是否可以编辑元素的内容。
    contextmenuMenu id为元素定义上下文菜单。
    data-XXXX用户定义。自定义属性。 HTML 文档的作者可以定义自己的属性。 自定义属性必须以 "data-" 开头。
    draggabletrue,false, auto定义用户是否可以拖动元素。
    height数字值定义表格,图像或表格单元的高度。
    hiddenhidden定义元素是否应该可见。
    id用户定义。命名元素,便于使用级联样式表。
    item元素列表。用于组合元素。
    itemprop条目列表。用于组合条目。
    spellchecktrue, false定义元素是否必须有拼写或错误检查。
    styleCSS 样式表。给元素定义内联样式。
    subject用户定义 id。定义元素关联的条目。
    tabindexTab number定于元素的 tab 键顺序。
    title用户定义。元素的“弹出”标题。
    valigntop, middle, bottomHTML 元素内标签的垂直对齐方式。
    width数字值。定义表格,图像和表格单元的宽度。

    完整的 HTML5 标签列表以及相关的属性请参考 HTML5 标签。

    自定义属性

    HTML5 还引入了一个新特性,就是可以添加自定义的数据属性。

    自定义数据属性以 data- 开头,基于我们的需求命名。下面是一个简单的例子:

    <div class="example" data-subject="physics" data-level="complex">
    ...
    </div>

    上面的例子中两个叫做 data-subject 和 data-level 的自定义属性在 HTML5 中是完全有效的。我们还可以使用 JavaScript API 或者在 CSS 中以获取标准属性类似的方式获取它们的值。


上一篇:苏州网站建设公司哪家好?如何选择苏州网站建设公司? 下一篇:外贸网站建设有哪些注意事项?