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. SVG 2 & SVG & getPointAtLength & getPathSegAtLength

    SVG 2 & SVG & getPointAtLength & getPathSegAtLength getPointAtLength SVG 1.x https://dev ...

  2. 谈谈 JS 垃圾回收机制

    谈谈 JS 垃圾回收机制 JS内存泄漏与垃圾回收机制 https://javascript.info/garbage-collection

  3. 1053 Path of Equal Weight——PAT甲级真题

    1053 Path of Equal Weight 给定一个非空的树,树根为 RR. 树中每个节点 TiTi 的权重为 WiWi. 从 RR 到 LL 的路径权重定义为从根节点 RR 到任何叶节点 L ...

  4. Kubernetes和docker----1.开始使用k8s和docker

    开始使用Kubernetes和docker docker命令 运行一个容器 docker run busybox echo "Hello world" 构建容器镜像 docker ...

  5. java中是否存在i+1<i?

    存在! 首先我们知道int的取值范围是: -2147483648~2147483647,最高位为符号位 2147483647的二进制为:01111111 11111111 11111111 11111 ...

  6. pyhton的函数

    目录 一.函数引入 二.函数的定义 三.如何定义一个函数 四.定义函数的三种形式 1.空函数 2.有参函数 3.无参函数 五.函数的调用 六.函数的返回值 七.函数的参数 1.形参 1.1 位置形参 ...

  7. 如何用Eggjs从零开始开发一个项目(1)

    前言 "纸上得来终觉浅,绝知此事要躬行."虽然node一直在断断续续地学,但总是东一榔头西一榔头的,没有一点系统,所以打算写一个项目来串联一下之前的学习成果. 为什么选择Eggjs ...

  8. .NET测试断言工具Shouldly

    .NET测试断言工具Shouldly .NET测试 Shouldly在GitHub的开源地址:https://github.com/shouldly/shouldly Shouldly的官方文档:ht ...

  9. Pyqt5——带图标的表格(Model/View)

    需求:表格中第一列内容为学生学号,为了突出学号的表示,在第一列的学号旁增加学号图标. 实现:(1)使用Qt的model-view模式生成表格视图. (2)重写代理(QAbstractItemDeleg ...

  10. 2020年12月-第02阶段-前端基础-CSS初识

    CSS层叠样式表 理解 css的目的作用 css的三种引入方式 1.HTML的局限性 说起HTML,这其实是个非常单纯的家伙, 他只关注内容的语义, 比如`<h1>`表明这是一个大标题,用 ...