美文网首页
在html5中语义元素应用分析

在html5中语义元素应用分析

作者: 枫叶cms | 来源:发表于2019-10-10 22:30 被阅读0次

在H5新增加的语义元素,本来是帮助人们更好的理解代码的,但是部分元素却又引起了选择困难,,,

HTML5 提供了新的语义元素来明确一个Web页面的不同部分:

<header> <nav> <section> <article>  <aside> <figcaption> <figure><footer>

在这里让人容易产生困惑的是<section>这个标签元素


<section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。

注意:

section 不是一个专用来做容器的标签,如果仅仅是用于设置样式或脚本处理,专用的是 div

section 里应该有 标题(h1~6),但文章中推荐用 article 来代替

一条简单的准则是,只有元素内容会被列在文档大纲中时,才适合用section元素。

section的作用是对页面上的内容进行分块,如各个有标题的版块、功能区或对文章进行分段,不要与有自己完整、独立内容的article混淆。

一个section通常由内容和标题组成,通常不推荐那些没有标题的内容用section,在HTML 5 Outliner这个网站可以检测没有标题的section,section的作用是对页面上的内容进行分块,如各个有标题的版块、功能区或对文章进行分段,不要与有自己完整、独立内容的article混淆。


<section>可以相互嵌套,在页面中定义了一个特殊的顶级区块,于是可以从<h1>开始列提纲而不用担心会破坏网页的纲要。尽管没找到明确说明,但我个人认为在每一层<section>里还是仅使用一个<h1>为佳。

以Wordpress主题为例,我认为与#sidebar相对的#content部分,使用<section>包裹一堆<article>作为页面的主要内容并不太合适。而使用<section>用在整体布局是明显错误的了。而适合使用<section>标签的地方有:

文章的评论列表,有着整齐的结构;

文章内容的目录,有着文章内部结构纲要;

侧栏widget,在WebDesignWall中我看到了这样的设计,因为widget内容大都是评论列表、文章列表,有着清晰的结构且是独立完整的一部分;

包裹文章中各个章节的段落,但要在编辑器完成,目前来看并不易用。


拿报纸举个例子:

一份或一张报纸有很多个版块,有头版、国际时事版块、体育版块、娱乐版块、文学版块等等,像这种有版块标题的、内容属于一类的版块就可以用section包起来。

然后在各个版块下面,又有很多文章、报道,每篇文章都有自己的文章标题、文章内容。这个时候用article就最好。如果一篇报道太长,分好多段,每段都有自己的小标题,这时候又可以用section把段落包起来。

虽然这些标签有这个有那个的限制,官方规范建议也是模模糊糊的,但是不要忘记了html5语义化标签的意义,其中一个就是更方便开发人员阅读代码文档,理清代码结构。个人觉得,如果能方便自己和他人阅读理解的标签,那就大胆用吧。

最后,觉得造成大家标签选择困难症的原因其实也跟html5语义化结构标签太少有关,如果添加更多,更加细分、网页常用、功能专用的标签,像评论部分增加comment标签,友情链接增加link标签,分页增加paging标签,作者信息增加author标签等等,就不会纠结遇到相似功能的标签到底用那个好了,div就不用思考这个,一棍子打下去全中。


有了语义化,有section、article、dl看这多舒服,人也好理解,计算机也好理解,比满眼的div好多了。

例如:

<section>

        <h1>WWF</h1>

        <p>The World Wide Fund for Nature (WWF) is....</p>

</section>


div\section\article各自适用场景:

div充当容器的角色,用来设置某一块的总体属性(一个div里面可能包含多个section);

section用于强调某一个模块,强调模块本身是作为一个整体的;

article用于强调某一段独立的内容,强调内容的独立性。

相关文章

  • 在html5中语义元素应用分析

    在H5新增加的语义元素,本来是帮助人们更好的理解代码的,但是部分元素却又引起了选择困难,,, HTML5 提供了新...

  • HTML5 新元素

    HTML5中的新元素 下面列出的HTML5的新元素,以及他们的描述。 新的语义/结构元素 HTML5提供的新元素可...

  • HTML5新增元素

    HTML5新增元素 类别元素构建页面的语义元素 用于标识文本的语义元素 web表单 ...

  • html5 学习第四天

    HTML5语义元素 什么是语义元素? 一个语义元素能够清楚的描述其意义给浏览器和开发者。 无语义元素实例: 和 ...

  • 前端开发入门到实战:HTML5语义化元素你真的用的正确吗?

    HTML5语义元素 语义学是研究语言中单词和短语的含义。语义元素=具有意义的元素。 语义元素清楚地描述了它对浏览器...

  • HTML5 新标签

    HTML5中的新元素 下面是新的HTML5元素的列表,以及它们的用途的描述。 新的语义/结构元素 了解更多关于HT...

  • HTML5的基本语法

    在HTML5中,有不少新的富含语义的元素,可以向浏览器和开发人员传达元素的用途。在做Html5开发时开发工具有很多...

  • HTML5 浏览器支持

    将 HTML5 元素定义为块元素HTML5 定了 8 个新的 HTML 语义(semantic) 元素。所有这些元...

  • 2018-07-03——HTML布局

    HTML5 语义元素 header 定义文档或节的页眉 nav ...

  • template标签

    参考文章:HTML5