跟永哥学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%的人还看了以下文章

  • js实现进度拖拽的效果-调节音量

    用js实现的一个进度拖拽效果,常用于调节音量。 该程序代码简单易懂,单页面可多次调用,效果如下图: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js实现进度拖拽的|www.125jz.com效果</…

    2019年2月15日
    4.9K0
  • Flex布局“弹性盒子”

    一.概念 flex布局: Flex Box 的缩写,意味“灵活的盒子”或“弹性盒子”,所以flex布局又称“弹性布局”。 flex容器 采用flex布局的元素,成为flex容器。display:flex; flex项目 flex容器的所有子元素自动成为容器成员,称为flex项目。 <div style=“ display:flex;”>   &l…

    2020年4月12日
    4.0K0
  • 菜单或新闻列表最后一项的css处理小技巧:not(:last-of-type)

    网页开发时,导航菜单的最后一项或新闻列表的最后一项需要和前面其他项显示不同,如导航的最后一个菜单不再需要分隔符或右边的空白间距,新闻或文章列表的最后一项不需要底边距,列表一般都会有分割线,但是最后一个列表没有分割线等。 如文章列表如下: <ul class=’posts’> <li class=’post’> <h3>中国…

    2018年9月27日
    3.1K0
  • 导航特效:jquery实现当前(活动)菜单样式变化

    用户点击导航或菜单上不同的栏目,被选中的导航栏目会变换样式,出现图片或背景颜色的变化,用于标识是否是当前栏目或活动选项。 本教程使用jquery实现导航菜单当前(活动)菜单样式变化,导航菜单模式用的是背景颜色,你可以换成背景图片以符合建站需要。 当前(活动)菜单样式变化实现原理 在html代码中给首页(默认选中)加上class名cur <a href=…

    2018年2月8日
    3.6K0
  • “注册”按钮(图片)怎么跳转到注册页面?

    页面代码: <input name=”Submit” type=”submit” class=”STYLE2″ value=”登陆”> <input name=”Submit2″ type=”submit” class=”STYLE2″ value=”注册”> “注册”按钮怎么跳转到注册页面? <inpu…

    2021年4月5日
    4.4K0
  • 第1课:CSS是什么?

    CSS是Cascading Style Sheets (CSS) 是一门指定文档该如何呈现给用户的语言。,用于为HTML文档定义布局。例如,CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面。

    2020年2月22日
    4.2K0

发表回复

登录后才能评论