CSS display属性

作者: hcxowe | 来源:发表于2016-05-12 23:47 被阅读209次

    概念

    display是CSS中最重要的用于控制布局的属性。每个元素都有一个默认的 display 值,这与元素的类型有关。对于大多数元素它们的默认值通常是 block或 inline。
    一个 block 元素通常被叫做块级元素。一个 inline 元素通常被叫做行内元素。

    • block
      div是一个标准的块级元素。一个块级元素会新开始一行并且尽可能撑满容器。其他常用的块级元素包括 p、 form和HTML5中的新元素: header、 footer、 section等等。

    • inline
      span是一个标准的行内元素。一个行内元素可以在段落中 <span> 像这样 </span>包裹一些文字而不会打乱段落的布局。 a元素是最常用的行内元素,它可以被用作链接。

    • none
      另一个常用的display值是 none。一些特殊元素的默认display值是它,例如 script
      display:none通常被 JavaScript 用来在不删除元素的情况下隐藏或显示元素。它和visibility属性不一样。把 display 设置成 none
      不会保留元素本该显示的空间,但是 visibility: hidden;还会保留。

    • inline-block
      同时具有block的宽高特性又具有inline的同行元素特性

        <style>
        .inline{display:inline; width:100px; height:100px; padding:5px; background-color:#F00;}
        .block{display:block; width:100px; height:100px; padding:5px;background-color:#0f0;}
        .inline-block{display:inline-block; width:100px;height:100px; padding:5px;background-color:#00f;}
        </style>
        <body>
        <span class="inline">inline</span>inline
        <span class="block">block</span> block
        <span class="inline-block">inline-block</span>inline-block
        </body>
      

    运行结果:


    Paste_Image.png

    inline特性
    我们发现内联对象inline给它设置属性height和width是没有用的,致使它变宽变大的原因是: 内部元素的宽高+padding。观察inline对象的前后元素我们会发现inline不单独占一行,其它元素会紧跟其后。

    block特性
    块对象block是可以设置宽高的,但是它的实际宽高是本身宽高+padding。观察block的前后元素我们会发现block要单独占一行。

    inline-block特性
    inline-block既具有block的宽高特性又具有inline的同行元素特性。也就是说,当我们想要让一个元素既不独占一行,又可以设置其宽高属性的时候,我们就可以选择inline-block了。

    行内元素特点

    1. 和其他元素都在一行上;
    2. 元素的高度、宽度、行高及顶部和底部边距不可设置;
    3. 元素的宽度就是它包含的文字或图片的宽度,不可改变。

    块级元素特点

    1. 每个块级元素都从新的一行开始,并且其后的元素也另起一行。(一个块级元素独占一行)
    2. 元素的高度、宽度、行高以及顶和底边距都可设置。
    3. 元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

    html中,<span> <a> <label> <input> <img> <strong> <em>就是典型的行内元素(inline)元素。

    html中<div> <p> <h1> <form> <ul> <li>就是块级元素。设置display:block就是将元素显示为块级元素。

    display的其他属性值

    • list-item
      此元素会作为列表显示。
    • run-in
      此元素会根据上下文作为块级元素或内联元素显示。
    • table
      此元素会作为块级表格来显示(类似table),表格前后带有换行符。
    • inline-table
      此元素会作为内联表格来显示(类似table),表格前后没有换行符。-
    • table-row-group
      此元素会作为一个或多个行的分组来显示(类似tbody)
    • table-header-group
      此元素会作为一个或多个行的分组来显示(类似thead)
    • table-footer-group:
      此元素会作为一个或多个行的分组来显示(类似tfoot)
    • table-row
      此元素会作为一个表格行显示(类似 tr )。
    • table-column-group
      此元素会作为一个或多个列的分组来显示(类似 colgroup )。
    • table-column
      此元素会作为一个单元格列显示(类似 col )
    • table-cell
      此元素会作为一个表格单元格显示(类似 td 和 th)
    • table-caption
      此元素会作为一个表格标题显示(类似 caption)

    相关文章

      网友评论

      本文标题:CSS display属性

      本文链接:https://www.haomeiwen.com/subject/jkbprttx.html