HTML5的结构

一:新增的主体结构元素

在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉,页脚内容区块等文档结构相关联的结构元素。

1.1article元素

article元素代表文档,页面或应用程序中独立的完整的,可以独自被外部引用的内容,<article> 标签定义外部的内容。article元素是可以嵌套使用的,内层的内容在原则上需要与外层的内容相关联,

另外article元素也可以用来表示一个插件。

<time> 标签定义日期或时间,或者两者。pubdate 指示 <time> 元素中的日期 / 时间是文档(或最近的前辈 <article> 元素)的发布日期

     <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head> <body>
<article>
<header>
<h1>博客</h1>
<p><time pubdate="pubdate">2017/3/1</time></p>
</header>
<p><b>我的博客</b>,我的博客内容</p>
<footer>版权所有</footer>
</article>
</body>
</html>

2.section元素

section元素用来对网站或应用程序中页面上的内容进行分块,一个section元素通常由内容及其标题组成,但section元素并非一个普通的容器元素,当一个容器需要直接定义样式或通过脚本定义行为的时候,最好使用div而不要使用section。

section元素的作用是对页面内容分块,或者说是对文章进行分段。

<article>
<h1>元素分类</h1>
<section>
<h2>article元素</h2>
<p>article元素的作用</p>
</section>
<section>
<h2>section元素</h2>
<p>section元素的作用</p>
</section>
</article>

带有section元素的article元素示例

<section>
<h1>元素分类</h1>
<article>
<h2>article元素</h2>
<p>article元素的作用</p>
</article>
<article>
<h2>section元素</h2>
<p>section元素的作用</p>
</article>
</section>

带有article元素的section元素示例

事实上article元素可以看成一种特殊的类的section元素,,它比section元素更强调独立性,section强调分段,article强调独立性。

3.nav元素

nav元素是一个可以用来作为页面导航的链接组,nav用于导航上.

4:aside元素

aside元素用来表示当前页面或文章的附属信息部分,有别于主体内容的部分。其中的内容可以是与当前文章有关的参考资料、名词解释;在article元素之外使用,作为页面或站点全局的附属信息部分。

5:time元素

<time>元素表示的是日期定义日期。页面在解析时,获取的是属性“datetime”中的值,而标记之间的内容只是用于显示在页面中。<time>元素中的可选属性“pubdate”表示时间是否为发布日期,它是一个布尔值,该属性不仅可以用于<time>元素,还可用于<article>元素。

6:header元素

header元素是一种具有引导和导航作用的结构元素,一个网页内并未限制header元素的个数,可以拥有多个,在HTML 5中,一个header元素通常包括至少一个heading元素(h1-h6)。

<header>
<h1>header标签的使用</h1>
</header> <article>
<header>
<h1>子标题</h1>
</header>
<p>内容</p>
</article>

多个header元素的使用

7:footer元素

footer通常包括其相关区块的脚注信息,如作者、相关阅读链接及版权信息等。

对这些新增的元素使用css样式,要声明这些元素为块元素。

二:大纲的编排规则

关于内容区块的编排,可以分为“显式编排”与“隐式编排”两种方式。

显式编排

显式编排是指明确使用section等元素创建文档结构,在每个内容区块内使用标题(h1~h6、hgroup等)

隐式编排

所谓隐式编排,是指不明确使用section等元素,而是根据页面中所书写的各级标题(h1~h6、hgroup等)把各级内容区块自动创建出来。

如果新出现的标题比上一个标题级别低,将生成下级内容区块。

如果新出现的标题比上一个标题级别高,或者两者的级别相等,将生成新的内容区块。

因为隐式编排容易使自动生成的整个文档结构与所想要的文档结构不一样,而且也容易引起文档结构的混乱,所以尽量使用显式编排。

<section>
<h2>隐式编码</h2>
<p>内容</p>
<!--因为下面的标题级别比上一个标题级别高,所以自动创建新的内容区块 -->
<h1>内容</h1>
<p>内容</p>
</section> <section>
<h2>显式编码</h2>
<p>s内容</p>
</section>
<section>
<h1>分块</h1>
<p>内容</p>
</section>

——参考自《HTML5与css3的权威指南》

HTML5新增的结构元素的更多相关文章

  1. 【原】HTML5 新增的结构元素——能用并不代表对了

    做移动端有一段时间,今天有同事问了我 article 和 section 标签的使用,模模糊糊的解释了下,他似懂非懂,有点小尴尬.忽然间觉得自己有必要再翻翻书籍,重温下 html5 的新元素.html ...

  2. HTML5新增与结构有关的元素

    HTML5新增与结构有关的元素 1.section元素 2.article元素 3.aside元素 4.header元素 5.hgroup元素 6.footer元素 7.nav元素 8.figure元 ...

  3. html5--select与HTML5新增的datalist元素

    html5--select与HTML5新增的datalist元素 学习要点 掌握select元素与datalist元素的使用 select元素 用来建立一个下拉菜单选项列表 不仅可以在表单中使用,还可 ...

  4. 疯狂的表单-html5新增表单元素和属性

    疯狂的表单 2015/11/27 16:44:07 从三方面来介绍html5表单的新特性 表单结构更灵活 要提交数据的控件可以布局在form标签之外,看下面的代码,表单元素可以写到form元素之外,只 ...

  5. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

  6. 如何让老式浏览器支持html5新增的语义元素

    html5新增加了一些语义元素,如header, footer, nav, aritcle, aside,等等. 然而,有些老款浏览器无法识别这些元素,会把它们当成 inline 元素对待,这会导致一 ...

  7. 第一章 用HTML5中的结构元素构建网站

    1.当一个容器需要直接定义样式或通过脚本定义行为时,推荐使用div元素而非section元素. 2.section是需要标题的,而nav或aside没有标题也是可以的. 3.html5轮廓工具 htt ...

  8. IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

    HTML5有一些新的表单元素:<datalist>.<keygen>.<output>.不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性, ...

  9. html5新增的主体结构元素

    1.  article 主体结构元素 通常是一篇文章.一个页面.一个独立完整的内容模块一般会带个标题,并放在 header 标签中,article 元素可以互相嵌套,使用频率极高,强调独立性,多注意下 ...

随机推荐

  1. 【leetcode刷题笔记】Edit Distance

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  2. SQl Server 中登录名 、用户、角色、概念一览

      转载:http://www.2cto.com/database/201306/216922.html       数据库,角色,用户,安全        登录SQL server 2008可以用w ...

  3. LINQ 学习路程 -- 开篇

    Enumerable: Queryable:

  4. 针对PHP性能方面编程技巧的总结

    注:本文为作者多年工作经验总结,转贴请注明出处 Albert Wang 做PHP已经有4年多了吧,总是没写点什么总结一下,现在开始写博客了,也顺便总结下吧,留给那些新入行的朋友看看. 1. 不宜频繁使 ...

  5. yield生成器的经典案例

    如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题 ...

  6. 分享知识-快乐自己:N及分类(双重循环、递归)实现

    实现多级分类: 1.双重 for 循环实现 N 及分类 /*** * 执行遍历 * * @param menus * 所有权限列表集合 * @param list * 指定角色查询到的 权限Id * ...

  7. Using SMOTEBoost(过采样) and RUSBoost(使用聚类+集成学习) to deal with class imbalance

    Using SMOTEBoost and RUSBoost to deal with class imbalance from:https://aitopics.org/doc/news:1B9F7A ...

  8. Java的反射机制(应用篇)

    Java的的反射机制,是一个很难但却比较有用的概念.反射机制经常出现在框架设计中,大神说:反射是框架设计的灵魂,也就是说要想看懂框架的源代码,必须得掌握反射机制. 作为初学者的我,觉得至少应该掌握它日 ...

  9. PL/SQL学习笔记_02_游标

    在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实现. 为了处理 SQL 语句, ORACLE 必须分配一片叫上下文( context area )的区域来处理所必需的信息,其中包括要处 ...

  10. php 实现分享到QQ空间 新浪微博

    //分享到新浪微博 $('#blog').click(function(){ window.sharetitle = '<%$info.title%>';//标题 window.share ...