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刷题笔记】Remove Duplicates from Sorted List

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  2. python中自定义排序函数

    Python内置的 sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 sorted() ...

  3. 高通8X16电池BMS算法(一)【转】

    本文转载自:http://www.voidcn.com/blog/yanleizhouqing/article/p-6037399.html 最近一直在搞电源管理相关内容,之前是8610的bms,现在 ...

  4. java入门了解10

    1.IO: 1.File (一)注意: a.可以表示文件或者文件夹(也可称为目录) b.创建的File对象实际上不存在的文件只是代表了一个抽象路径 c.Windows中分隔符'\'('//'也可以); ...

  5. 大话设计模式--状态模式 State -- C++实现实例

    1.状态模式: 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来就像是改变了其类. 状态模式解决的是当控制一个对象状态转换的条件表达式过于复杂, 把状态的判断逻辑转移到表示不同状态的一系列类 ...

  6. jQuery Cloud Zoom:图片放大镜插件 破解插件

    /* Cloud Zoom 10 Site License (CZ01-10). Version 3.1 rev 1312051822 */ (function(e) { function s(a) ...

  7. GitHub基本使用

    什么是GitHub? GitHub是用于版本控制和协作的代码托管平台.它可以让您和其他人在任何地方一起工作 本教程教你如GitHub必需资源,如仓库,分支,提交和拉请求.您将创建自己的Hello Wo ...

  8. SQLite优化方法

    1.建表优化 SQLite的数据库本质文件读写操作,频繁操作打开和关闭是很耗时和浪费资源的: 优化方法事务机制: 这里要注意一点:事务的开启是要锁定DB的,其他对DB的写入操作都是无法成功的. db. ...

  9. 常用调试工具gdb,dbx,valgrind介绍一

    类UNIX下C/C++开发,代码调试比较麻烦,最原始的加跟踪调试很土,也很费时,特别是一个庞大的项目,代码行数非常大的时候调试起来非常费劲,当core dump时定位也不容易,这里介绍几个常用工具: ...

  10. Eclipse 反编译插件安装jad【转】

    原文地址:http://tangmingjie2009.iteye.com/blog/1916992 Eclipse的反编译插件一直在用jad,感觉很不错. 刚下了个新版的eclipse,配置jad的 ...