在 CSS 中,display
属性被用来定义一个元素应该以什么样的方式来显示。其中,最常见的两个取值是 block
和 flex
。它们表示的两种不同的布局方式,具有以下差异:
- 盒模型:
block
会默认生成一个块级盒子,而flex
会默认生成一个弹性盒子。 - 水平排列:
block
不会自动水平排列,而flex
具有强大的水平排列能力。 - 竖直排列:
block
会在上下两端留有空白的间距,而flex
默认不会在两端添加空白间距,但可以通过设置justify-content
属性来实现。 - 宽度和高度:
block
的宽度默认是 100%,高度根据内容自适应;flex
默认宽度和高度都是根据内容来决定的,但可以通过设置flex-basis
属性来改变宽度。 - 对齐方式:
block
和flex
都可以设置对齐方式,但它们的属性名称不同。block
设置对齐方式使用的是text-align
属性,而flex
则使用了align-items
和justify-content
属性。
综上所述,block
和 flex
在布局和排列方面有相当的不同。block
适合用于垂直布局和块级元素的展现(如段落、标题等),而 flex
适合用于水平排列和响应式布局(如导航栏、轮播图等)。