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. vue & dynamic components

    vue & dynamic components https://vuejs.org/v2/guide/components-dynamic-async.html keep-alive htt ...

  2. Nestjs 设置https

    文档 只是用https import * as fs from 'fs'; import { NestFactory } from '@nestjs/core'; import { AppModule ...

  3. 图像仿射变换——MatLab代码实现

    这里先说一下我们的目的,最近在用Pix2Pix 做一个项目的时候,遇到了成对图像质量差,存在着特征不能对齐的问题,即A图与B图是一组成对图像,我们想要将A 图中的物体转化为B 图中的物体,但这个物体在 ...

  4. @RestController和@Controller

    1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面 若返回json等内容到页面,则需要加@ResponseBody注解 2 ...

  5. 【HTB系列】靶机Querier的渗透测试

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 总结与反思: 1.收集信息要全面 2.用snmp-check检查snmp目标是否开启服务 ...

  6. 剑指 Offer 29. 顺时针打印矩阵 + 蛇形矩阵 + 模拟 + 思维题

    剑指 Offer 29. 顺时针打印矩阵 Offer_29 题目描述: 题解分析: 题目的初衷是将这道题当做一个简单题处理 这道题一开始想的太复杂了,其实可以参考迷宫广度优先搜索的过程,只不过在选定一 ...

  7. HDOJ-1114(完全背包模板题)

    Piggy-Bank HDOJ-1114 本题就是完全背包的模板题,注意复习一下关于背包九讲中的问什么这里使用的是顺序遍历. 还需要注意的一个问题就是初始化的问题,dp[0]初始化为0,其他的初始化为 ...

  8. 《从零开始TypeScript》系列 - 基础数据类型

    TypeScript 是 JavaScript 的超集,这里我们只讨论两者中的不同的部分,或者需要注意的部分 数组 Array:在TypeScript中,有两种方式来定义一个数组: 在元素类型后面接上 ...

  9. 漫漫Java路1—基础知识2—注释和命名规则

    ## 注释 1. 单行注释 ```java //这是一个注释 ``` 2. 多行注释 ```java /* 这是一个注释 */ ``` 3. 文档注释 ```java /** * * * */ ``` ...

  10. FreeBSD 12.2 发布

    FreeBSD 团队宣布 FreeBSD 12.2 正式发布,这是 FreeBSD 12 的第三个稳定版本. 本次更新的一些亮点: 引入了对无线网络堆栈的更新和各种驱动程序,以提供更好的 802.11 ...