Display 的几个常用属性
- block
- 形成 BFC
- 元素表现为块级元素,前后有换行符
- 宽高、margin,padding 都可以自行控制
- inline
- 形成 IFC
- 元素行为变为内联元素,前后没有换行符
- 无法直接指定宽高,但可以设置 line-height 属性
- margin 和 padding 只有左右生效,上下无效
- 假如有高度不一致的元素,按照底端基准线进行排列
- 可以使用
vertical-align: middle
属性使得内联元素内部垂直居中
- inline-block
- 元素的排列行为表现为 inline,水平排列,前后有换行符
- 元素的内容表现为 block,可自由设置宽高,margin 和 padding
- 可以使用
vertical-align: middle
属性使得内联元素内部垂直居中
- flex
- 形成 FFC 区域
- 元素表现类似 block
- inline-flex
- 形成 FFC
- 元素表现类似 inline
内联元素保护块级元素
如果内联元素容纳了块级元素,那么块级将渲染为块级,内联渲染为内联。
代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.block {
display: inline-block;
width: 50px;
height: 50px;
background-color: #ccc;
margin: 10px;
/* vertical-align: middle; */
}
.block:nth-child(2) {
height: 80px;
}
</style>
</head>
<body>
<div class="show-inline_block">
<div class="father">
<span class="block"></span>
<span class="block"></span>
<span class="block"></span>
<span class="block"></span>
<span class="block"></span>
</div>
</div>
<hr />
<div class="show-block_in_inline">
<span
>123
<p>456</p>
789<span>101112</span></span
>
</div>
</body>
</html>