1.定义

display用于页面布局,设置元素如何被显示。

值:none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-column | table-cell | table-caption | inherit

2.分类

(1)block(块级元素)

特点:

  • 独占一行;

  • 宽、高、行高以及内外边距都可设置;

  • 宽度缺省是它的容器的100%,除非设定一个宽度,即使设置了宽度,仍然是独占一行。

  • 它可以容纳内联元素和其他块元素

常见的块级元素有:

h1~h6 | div | ul | ol | dl | dt | li | p | form | table (一系列标签)...

块级元素不支持 vertical-align

(2)inline(行内元素)

特点:

  • 内容撑开宽度;

  • 不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行;

  • 设置width和height属性无效;

  • 代码换行被解析成空格;

  • 关于margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。

常见的行内元素有:

a | b | br | em | i | label| map | pre | span | strong ...

行内元素不支持:

background-position | clear | clip | height | max-height | min-height | width | max-width | min-width | overflow | text-align | text-indent | padding-top | padding-bottom | margin-top | margin-bottom

(3)inline-block(行内块)

特点:

  • 不设置宽度时,内容撑开宽度

  • 非独占一行

  • 支持宽高

  • 代码换行被解析成空格

简单来说就是将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)设置inline-block属性,使其既具有block的可设置宽度和高度特性又具有inline的同行特性

常见的行内块元素有:

audio | canvas | iframe | img | video ...

行内元素不支持:clear

(4)none

特点: 隐藏元素并脱离文档流

visibility: hidden虽然会隐藏元素,但是位置会保留

(5)list-item

特点: 与块级元素类似

(6)table

特点: 

  • 不设置宽度时,宽度由内容撑开

  • 独占一行

  • 支持宽高

  • 默认具有表格特征,可设置table-layout、border-collapse、border-spacing等表格专有属性

(7)inline-table

特点: 

  • 不设置宽度时,宽度由内容撑开

  • 非独占一行

  • 支持宽高

  • 默认具有表格特征,可设置table-layout、border-collapse、border-spacing等表格专有属性

###【注意】###
对于display为table和inline-table,若处于分隔边框模型即border-collapse:separate时,margin和padding都可设置;若处于合并边框模型即border-collapse:collapse,只可设置margin

(8)table-cell

特点: 

  • 不设置宽度时,宽度由内容撑开

  • 非独占一行

  • 支持宽高

  • 垂直对齐

  • 同级等高

  • display:table-cell的元素不可以设置margin,但可以设置padding

(9)table-caption

特点: 

  • 不设置宽度时,宽度由内容撑开

  • 独占一行

  • 支持宽高

  • display:table-caption的元素margin和padding都可设置

【MARK】 文档以整理记录为主,如有错误,欢迎指出哟,大家一起来学习...

css — display的更多相关文章

  1. CSS display:inline-block

    CSS display:inline-block 在css布局里,我们经常看到代码 「display:inline-block; *display:inline; zoom:1; 」,大多人会说上面的 ...

  2. [转]CSS Display(显示) 与 Visibility(可见性)

    CSS Display(显示) 与 Visibility(可见性) display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏. 隐藏元素 - display:non ...

  3. CSS display:inline和float:left两者区别探讨

     本文和大家重点讨论一下CSS display:inline和float:left两者的区别,CSS display是指显示状态,inline表示内联,特点是紧贴着前一个内联元素,通常默认的内联元素有 ...

  4. CSS Display(显示) 与 Visibility(可见性)

    display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏. Box 1 Box 2 Box 3 隐藏元素 - display:none或visibility:hid ...

  5. [CSS3] CSS Display Property: Block, Inline-Block, and Inline

    Understanding the most common CSS display types of block, inline-block, and inline will allow you to ...

  6. CSS display:table属性用法- 轻松实现了三栏等高布局

    display:table:此元素会作为块级表格来显示(类似 <table>); display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以 ...

  7. CSS display:inline-block的元素特点:

    将对象呈递为内联对象,但是对象的内容作为块对象呈递.旁边的内联对象会被呈递在同一行内,允许空格. 在CSS中,块级对象元素会单独占一行显示,多个block元素会各自新起一行,并且可以设置width,h ...

  8. CSS DISPLAY AND POSITIONING

    CSS DISPLAY AND POSITIONING Review: Layout Great job! In this lesson, you learned how to control the ...

  9. CSS Display(显示)和Visibility(可见性)

    CSS Display(显示)和Visibility(可见性) 一.简介 display属性设置一个元素应如何显示(隐藏不占用空间),visibility属性指定一个元素应可见还是隐藏(隐藏占用空间) ...

  10. css display属性详解

    css display属性在对css做layout设计时非常重要,它的值有以下几种: Value Description Play it inline Default value. Displays ...

随机推荐

  1. 2019 front-end job Interview

    2019 front-end job Interview 2019 前端面试题 掘金 https://juejin.im/tag/面试 https://juejin.im/post/5c875791e ...

  2. taro taro 多端同步调试

    taro 多端同步调试 debug https://nervjs.github.io/taro/docs/envs-debug.html

  3. ip/udp/tcp包 学习

    /** * 以太网 */ class Ethernet { static readonly size = 14; get Destination(): string { return [ this.v ...

  4. [转]ORB特征提取-----FAST角点检测

    转载地址:https://blog.csdn.net/maweifei/article/details/62887831 (一)ORB特征点提取算法的简介 Oriented FAST and Rota ...

  5. 01、初识Java

    目录 前言 一.认识Java 历史介绍 Java介绍 二.认识及安装JDK 1.认识JDK 2.安装JDK 配置与测试 配置注意及不生效解决 3.认识Java虚拟机 三.Java的工作方式 四.jav ...

  6. Hive底层原理:explain执行计划详解

    不懂hive中的explain,说明hive还没入门,学会explain,能够给我们工作中使用hive带来极大的便利! 理论 本节将介绍 explain 的用法及参数介绍 HIVE提供了EXPLAIN ...

  7. java基础第11期——Stream流、方法引用、junit单元测试

    1.Stream流 Stream流与io流是不同的东西,用于解决集合类库已有的弊端, 1.1 获取Stream流: Collection集合的Stream方法,注意Map集合要经过转化 default ...

  8. springCloud中的服务调用feign

    springCloud中的服务调用(要在调用端写) 前提进行了服务注册 流程: 1.在服务模块中添加依赖 <!--服务调用--> <dependency> <groupI ...

  9. 几个小实践带你快速上手MindSpore

    摘要:本文将带大家通过几个小实践快速上手MindSpore,其中包括MindSpore端边云统一格式及华为智慧终端背后的黑科技. MindSpore介绍 MindSpore是一种适用于端边云场景的新型 ...

  10. 那些容易犯错的c++保留字

    本文首发 | 公众号:lunvey 目前正在学习vc++6.0开发,而这里面使用的是c++98标准. 保留字,也称关键字,是指在变量.函数.类中不得重新声明的名称. c++98中大致有48个保留字,这 ...