div 、section 、article的区别和使用场景

COM三叔 发表于 2016-05-06 17:50:19

标签: div, section, article

- +

div 、section 、article的区别和使用场景


主要区别,以及适用场合如下:
1、div在html早期版本就支持了,section和article是html5提出的两个雨衣话标签。如果只是针对一个块内容做样式化,三者并没有区别。
2、作为语义化标签,section应用的典型场景有文章的章节、标签对话框中的标签页、或者论文中有编号的部分。一般来说,当元素内容明确地出现在文档大纲中时,section就是适用的。
3、对于article标签来说,无论从结构上还是内容上来说,article本身就是独立的、完整的。最简单的方法就是看一段内容脱离了所在的语境之后,是否还是完整的、独立的,如果是,则应该用article标签。
4、div、section、article,语义上从无到有,逐渐增强。div无任何语义,仅仅用作样式化或者脚本化,对于一段主题性的内容,比较适用section,而假设这段内容是可以脱离上下文,作为完整的结构体独立存在的一段内容,那么就适合用article。原则上来说,能使用article的时候,也是可以使用section的。但是视情况而定,假如更适合使用article,那么就不要使用section了。


什么时候使用?
1、div:作为布局以及样式化时使用。

2、section:表示文档中的节,一般是具有标题的。比如:文档大纲、文档章节、博客条目、用户评论部分或者论文中有编号的部分时使用;
通常会带有标题。如果没有标题,那么就不推荐使用section
    <section>
            <h2>文章章节标题</h2>
            <p>文章章节段落内容</p>
        </section>


3、article:表示独立的自包含内容,如:一篇文章。文章找那个可以包含标题、内容、脚注
    <article>
            <header>
                <h1>文章标题</h1>
                <p>写作时间 作者信息</p>
            </header>
            <section>
                <p>文章正文</p>
            </section>
            <footer>
                <p>注脚:法律信息神马的</p>
            </footer>
        </article>


标注:
a、<header>:定义文档的页面介绍信息,比如:文章标题、发表时间
b、article和section可以互相嵌套使用

possitive(16) views16159 comments0

发送私信

最新评论

请先 登录 再评论.
相关文章
  • 2019年NodeJS框架Koa和Express选型比较

    Koa和Express都是NodeJS的主流应用开发框架。
    Express是一个完整的nodejs应用框架。Koa是由Express团队开发的,但是它有不同的关注点。Koa致力于核心中间件...

  • 如何使用BabylonJS加载OBJ或STL模型

    BabylonJS(也就是babylon.js,这是一个和three.js类似的WebGL开发框架),更多的用在游戏领域。
    本文说明和演示如何使用babylon.js来加载一个标准3d模型文...

  • WebAssembly工作原理和JavaScript语言性能对比分析

    本文简单说明WebAssembly(简称wasm)工作原理和高性能的原由(和JavaScript相比)。不过需要提醒的是Wasm并非设计来完全替代JS,而是对JS的一个强大补充,JS中...

  • 创建非矩形网页页面元素的常用技术和实例代码

    非矩形设计正在变成一种时尚,比如波浪形、菱形、三角形等:而随着技术发展,这种设计在技术实现上也变得更容易。本文以最简单的三角形为例,演示使用5种方法来...

  • CSS3人行走动作图解和动画实现

    对于人类而言,行走是一种很自然的想要前进并防止跌倒的一组动作重复。大部分人1岁就学会了走路,但至此以后的几十年间,或许我们从来没留意过自己行走姿势。当...

  • 函数式JavaScript编程基础概念:Curry和Partial Application

    本文介绍JS函数式编程中的两个概念:柯里(Curry)和部分应用程序(Partial Application)。什么是应用程序(Application)将函数应用于其参数以产生返回值的过...

  • 使用CSS3 box-decoration-break特性实现多行文本样式

    当文章中的长文本被自动断行为多行文本时,其样式可能会出乎我们的设计。本文介绍如何使用CSS3中的box-decoration-break特性来处理多行元素样式。
    按照规范...

  • Babylon.js入门教程和开发实例

    Babylon.js是一款WebGL开发框架。和Three.js类似。主要的技术区别是Three.js还试图回退兼容CSS 3D。Three.js是完全社区推动的,比Babylon.js要成熟些,而Babylon...

  • WebGL 纹理映射模式以及WRAP_S | WRAP_T参数详解

    我们在纹理滤镜一文中已经说明了2个重要的纹理参数,用来定义对象缩放时纹理的处理方式:GL_TEXTURE_MIN_FILTERGL_TEXTURE_MAG_FILTER本文讲解其余几个纹理参数...

  • Three.js入门教程6 - 创建全景图和纹理

    全景图非常酷。使用Three.js做一个属于自己的全景图并不是那么困难。要做一个全景图,你需要一个软件用来做一张全景图片。我使用了iPhone上的Microsoft Photosyn...

  • WebGL入门教程5 - 详解纹理滤镜(Texture Filter)

    WebGL中使用纹理贴图来实现细腻的物体表面观感,其中一个重要的参数是纹理滤镜(Texture Filter)。
    这个参数用来处理当对象出现缩放时,纹理如何处理中间...

  • WebGL入门教程1 - 3D绘图基础知识

    现代浏览器努力使得Web用户体验更为丰富,而WebGL正处于这样的技术生态系统的中心位置。其应用范围覆盖在线游戏、大数据可视化、计算机辅助设计、虚拟现实以及数...

  • 如何使用CSS3实现书页(书本)卷角效果

    我们有时候想在页面显示一个公告或用户提示信息。一个常用设计是使用书签形状。我们可以给书签添加卷角效果,以使其更为逼真。所谓的“卷角”实际上可以用小角度...

  • 更多...