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. Python OOP(1)

    类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外. ...

  2. mac活动监视器闪退

    输入:rm -rf ~/Library/LaunchAgents/com.apple.Yahoo.plist即可!

  3. RadioButton控件选中、取消

    js: var flag = true; function chkRadio(id) { id.checked = flag; flag = !flag; } aspx.cs: this.rbtKey ...

  4. ajax stream 一边下载二进制数据一边处理

    最近有在做 stream 下载,并且边下载 stream 边处理功能.解析二进制的功能.最初参考了 flv.js 的 flv stream 下载处理功能,发现他并没有使用的 XMLHttpReques ...

  5. 数据库的join查询

    假设我们有两张表. Table A 是左边的表. Table B 是右边的表. 其各有四条记录,其中有两条记录是相同的,如下所示: id name id name -- ---- -- ---- 1 ...

  6. 如果你使用WebView+FloatingActionButton

    在WebView中想要使用FAB,如果你想向上滑动的时候隐藏FAB,那么需要再WebView外面套一个ScrollView! 原因之前也分析过,和为什么ListView不能让ToolBar.Tab隐藏 ...

  7. C语言逗号运算符和逗号表达式

    在C语言中逗号","也是一种运算符,称为逗号运算符. 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式.其一般形式为:表达式1,表达式2 其求值过程是分别求两个表达式的 ...

  8. 【转】Lucas定理 & 逆元学习小结

    (From:离殇灬孤狼) 这个Lucas定理是解决组合数的时候用的,当然是比较大的组合数了.比如C(1000000,50000)% mod,这个mod肯定是要取的,要不算出来真的是天文数字了. 对于一 ...

  9. 开源Log框架和平台介绍

    共有162款 日志工具(Logging)开源软件 http://www.oschina.net/project/tag/144/logging

  10. 【转】Pro Android学习笔记(十二):了解Intent(下)

    解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...