跟永哥学HTML5(4):正确使用HTML5的header、hgroup和section

在上一章HTML5新增语义化元素的使用中我们讲解了HTML新增的标签,并举例给出如何使用。但真正从HTML4转变到HTML5编程,并不是那么简单的事情,很多初学者没有真正了解这些标签,或错误使用HTML5的标签。这节课就给大家讲解常见的HTML5标签错误使用写法,帮助大家学会正确使用HTML5的header、hgroup和section。

1、只在需要的时候使用header和hgroup

写不需要写的标签当然是毫无意义的。不幸的是,我经常看到header和hgroup被无意义的滥用。

关于header和hgroup元素简单总结如下:

  • header元素表示的是一组介绍性或者导航性质的辅助文字,经常用作section的头部
  • 当头部有多层结构时,比如有子头部,副标题,各种标识文字等,使用hgroup将h1-h6元素组合起来作为section的头部

header的滥用

由于header可以在一个文档中使用多次,很多人这样使用:

<!-- 请不要复制这段代码!此处并不需要header -->
<article>
<header>
<h1>125建站网</h1>
</header>
<!-- 文章内容 -->
</article>

如果你的header元素只包含一个头部元素,那么丢弃header元素吧。既然article元素已经保证了头部会出现在文档概要中,而header又不能包含多个元素(如上文所定义的),那么为什么要写多余的代码。简单点写成这样就行了:

<article>
<h1>125建站网</h1>
<!-- 文章内容 -->
</article>

<hgroup>的错误使用

在headers这个主题上,我也经常看到hgroup的错误使用。有时候不应该同时使用hgroup和header:

  • 如果只有一个子头部
  • 如果hgroup自己就能工作的很好。。。这不废话么

第一个问题一般是这样的:

<!-- 请不要复制这段代码!此处不需要hgroup -->
<header>
<hgroup>
<h1>网页设计|www.125jz.com</h1>
</hgroup>
<p>站长:江山如画</p>
</header>

此例中,直接拿掉hgroup,让heading裸奔吧。

<header>
<h1>网页设计|www.125jz.com</h1>
<p>站长:江山如画</p>
</header>

第二个问题是另一个不必要的例子:

<!-- 请不要复制这段代码!此处不需要header -->
<header>
<hgroup>
<h1>网页制作</h1>
<h2>www.125jz.com</h2>
</hgroup>
</header>

如果header唯一的子元素是hgroup,那还要header干神马?如果header中没有其他的元素(比如多个hgroup),还是直接拿掉header吧

<hgroup>
<h1>My company</h1>
<h2>Established 1893</h2>
</hgroup>

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1055.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年2月2日 下午8:45
下一篇 2018年2月3日 上午9:53

99%的人还看了以下文章

  • 第9课:盒状模型

    CSS中的盒状模型(box model)用于描述一个为HTML元素形成的矩形盒子。盒状模型还涉及为各个元素调整外边距(margin)、边框(border)、内边距(padding)和内容的具体操作。下图显示了盒状模型的结构: CSS中的盒状模型 上面的图示看上去可能感觉有点理论化,好吧,让我们试着用一个实例来解释盒状模型。在我们的例子中,有一个标题和一些文本…

    2020年2月25日
    3.8K0
  • 3种纯CSS/jquery实现的表格隔行变色,鼠标悬停:hover变色效果

    表格隔行显示不同背景颜色,表格奇数行和偶数行交替显示不同的背景颜色。 一、纯CSS3实现表格隔行变色 关键CSS代码介绍 table tr:nth-child(odd){background:#F4F4F4;} table td:nth-child(even){color:#C00;} table tr:nth-child(5){background:#73…

    2018年9月5日
    4.1K0
  • 第10课:外边距和内边距

    上一课,你学习了盒状模型。在这一课,我们将了解如何通过设置margin(外边距)和padding(内边距)这两个CSS属性来改变元素的显示。 为元素设置外边距 为元素设置内边距 为元素设置外边距 一个元素有上(top)、下(bottom)、左(left)、右(right)四个边。外边距(margin)表示从一个元素的边到相邻元素(或者文档边界)之间的距离。可…

    2020年2月25日
    2.2K0
  • div/span水平顶部对齐,同一行div跟内容最多的div高度保持一样高

    一、两个div水平顶部对齐 两个div都设置display:inline-block;  并且右边的div增加样式vertical-align: top; 使得右边的div跟左边的div的顶部对齐。 <div id=’left’ style=”width:20%; display:inline-block”> </div> <d…

    2018年12月10日
    7.7K0
  • CSS的浮动及清除浮动的5种方法

    css属性float:left/right/none 左浮动/右浮动/不浮动(默认),文章介绍了清除浮动的5种方法,并指出其实现原理、优缺点和使用建议。

    2019年11月5日
    2.2K0
  • 第5课:到目前为止学到了些什么?

    上一课我们已经学习了这些: <html> <head><title></title></head> <body> </body> </html> 网页标题(title)写在head(头部)里:<title>网页标题写在这里</title>。…

    2018年1月20日
    2.3K0

发表回复

登录后才能评论