display有哪些属性值呢?

详解display属性

display属性的作用

  在CSS中display属性表示“显示框类型”,即不同的盒模型。简单来说,可以把块级盒子转成内联盒子,也可以把内联盒子转成块级盒子。

<style>
.box1{ display:inline; background:gold;}
.box2{ display:block; background:skyblue;}
</style>
<div class="box1">块1</div>
<div class="box1">块2</div>
<span class="box2">内联1</span>
<span class="box2">内联2</span>

在这里插入图片描述

  可以看到,div具备了内联盒子的特性,而span则具备了块级盒子的特性。

  display属性大概可分为以下几类进行学习:

  • display-outside 外部值
  • display-inside 内部值
  • display-listitem 列表值
  • display-internal 属性值
  • display-box 显示值
  • display-legacy 混合值
  • global 全局值

display-outside(外部值)

  外部值就是定义自身元素的外部表现,而不影响其内的子元素。

  • block:表示块级盒子 像

    等默认就是块级盒子。

  • inline:表示内联盒子 像 、等默认就是内联盒子。
  • run-in:实验性质的属性,浏览器支持不好。

display-inside(内部值)

  和外部值相反,内部值就是定义子元素布局的。像flex、grid这些设置都会影响到子元素的布局形式,

  • flow-root:一个BFC的块级盒子(注:BFC后面小节会讲解)。
  • table:带有内部表格布局的块级盒子。
  • flex:带有内部弹性布局的块级盒子。
  • grid:带有内部网格布局的块级盒子。

display-listitem(列表值)

  list-item属性值是生成一个容纳内容和单独的列表行内元素盒的块级盒子,目的是为了用div去代替<ul> <li>标签之类的,<li>元素默认就是list-item;

display-internal(属性值)

在这里插入图片描述

  一些和table布局、ruby搭配一起控制页面布局的属性值,因为使用的比较少,这里不展开探讨。

display-box(显示值)

  • contents:只影响其内容的样式生效,比如:字体大小、文字颜色等;但是像背景色、边框是不会生效的。
  • none:从盒子树中移除,包括其所有后代元素。

display-legacy(混合值)

  • inline-block:对外表现成内联盒子,对内表现成块级盒子
  • inline-table:对外表现成内联盒子,对子元素表现成表格盒子
  • inline-flex:对外表现成内联盒子,对子元素表现成弹性盒子
  • inline-grid:对外表现成内联盒子,对子元素表现成网格盒子

  下面通过代码来演示一下inline-block的特性:

<style>
.box{ display:inline-block; width:100px; height:100px; background:gold;}
</style>
<div class="box">块1</div>
<div class="box">块2</div>
<span class="box">内联1</span>
<span class="box">内联2</span>

在这里插入图片描述

  可以看到,盒子即具备了块级盒子的特性(支持宽高)又具备了内联盒子的特性(横向排列)。 关于inline-flexinline-grid的特性会在相关章节中进行讲解。

global(全局值)

  • inherit:继承父元素的display属性
  • initial:不管父元素怎么设定,恢复到浏览器最初始时的display属性
  • unset:unset混合了 inherit 和 initial。如果父元素设值了,就用父元素的设定,如果父元素没设值,就用浏览器的缺省设定。
CSS 中的 display 属性用于控制元素的显示方式,常用的包括: 1. block:将元素显示为块级元素,即在页面中显示为独占一行的盒子,可以设置宽度和高度等属性。 2. inline:将元素显示为内联元素,即在页面中显示为一行的盒子,宽度和高度由内容决定,不可以设置宽度和高度等属性。 3. inline-block:将元素显示为内联块元素,即在页面中显示为一行的盒子,可以设置宽度和高度等属性。 4. none:将元素隐藏,即不在页面中显示,但是元素仍然存在,可以通过 JavaScript 等方式操作。 5. flex:将元素显示为弹性盒子,可以方便地进行页面布局和对齐操作。 6. grid:将元素显示为网格布局,可以方便地进行页面布局和对齐操作。 display 属性的不同取有不同的特点和用途,主要的区别在于: 1. 元素的排列方式:block、inline-block 和 inline 元素的排列方式不同,可以实现不同的页面布局效果。 2. 宽度和高度的控制:block 元素可以设置宽度和高度,而 inline 元素的宽度和高度由内容决定。 3. 显示和隐藏:none 可以隐藏元素,而其他则可以将元素显示出来。 4. 页面布局:flex 和 grid 布局可以方便地进行页面布局和对齐操作,更加灵活和高效。 总之,在 CSS 中,display 属性的取非常重要,它不仅可以影响元素的显示和隐藏,还可以控制元素的排列方式和页面布局,开发者需要根据实际需求选择合适的,以实现所需的页面效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jieyucx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值