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定位

    CSS position属性 CSS display属性 CSS float属性 (引用:https://www...

  • display属性的知识点+实例解读

    display属性在前端中大致分为html dom display属性和css display属性。本文主要讲解...

  • 2019-01-23css布局

    一 标准流 二 display属性 display属性(CSS属性): # 尽量别用下面就是示列,有系统BUG,...

  • CSS布局

    1CSS没有布局 2 CSS布局属性 2.1 css display属性 2.2 css margin: auto...

  • CSS布局

    CSS入门(3) CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+...

  • CSS布局

    CSS的常见布局 CSS常见布局使用display属性(文档流)+position属性(定位)+float属性(浮...

  • CSS display属性

    display 属性规定元素应该生成的框的类型。display:inline; white-space 属性设置如...

  • CSS display属性

    概念 display是CSS中最重要的用于控制布局的属性。每个元素都有一个默认的 display 值,这与元素的类...

  • CSS display 属性

    display 简单的三种值 block : 块级元素,前后都有换行符,所以独占一行,可以设置宽高。 inli...

  • CSS第二节

    CSS的标签模式设置Display属性 display可以控制标签的显示模式。 display:none | in...

网友评论

本文标题:CSS display属性

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