CSS `display` 属性详解(完整版)

CSS display 属性详解(完整版)

在这里插入图片描述


1. 属性值及特性详解

display 属性控制元素的布局类型和生成的框类型,以下是 所有有效值 及其特性:


1.1 基础类型
描述布局行为是否生成块级框典型用途
block元素独占一行,宽度自动撑满父容器自动换行,可设置宽高容器元素(如 div, header
inline与相邻元素同行,宽度由内容决定不换行,不可设置宽高内联元素(如 span, a
inline-block结合 blockinline 特性可设置宽高,与文本同行图标+文字组合
none隐藏元素,且不参与布局完全移除元素-动态隐藏元素

1.2 弹性 & 网格布局
描述布局行为兼容性注释
flex定义弹性容器,子元素为 Flex 项通过 flex-direction 等控制排列方向-webkit- 前缀支持旧版
inline-flex内联弹性容器,不独占一行类似 flex,但与文本同行同上
grid定义网格容器,子元素为 Grid 项通过 grid-template-columns 等定义网格-ms- 前缀支持旧版
inline-grid内联网格容器,不独占一行类似 grid,但与文本同行同上

1.3 表格相关类型

模拟表格布局的元素:

类似 HTML 标签布局行为
table<table>作为表格容器
table-row<tr>表示表格行
table-cell<td><th>表示表格单元格
table-row-group<tbody>表格行组(如 <thead>, <tbody>
table-header-group<thead>表格表头组
table-footer-group<tfoot>表格表尾组
table-column<col>定义表格列
table-column-group<colgroup>定义列组

1.4 其他特殊值
描述特殊行为
contents元素自身消失,子元素继承父级样式类似“拆解”元素,常用于替换容器结构
list-item生成列表项(如 <li>自动添加项目符号(可通过 list-style 控制)
run-in尝试以内联形式“跑入”前/后元素若前后元素为块级,则自身转为块级;若为内联,则合并到内联元素中

1.5 过时值(已弃用)
替代方案
inline-table使用 display: table + 宽度设置
compact不推荐,可用 margin 替代

2. 组合使用场景
  • inline-flex vs flex

    • flex: 独占一行,适合容器布局(如导航栏)。
    • inline-flex: 与文本同行,适合内联弹窗或工具栏。
  • table-cell 组合

css
  .table-container { display: table; width: 100%; }
  .row { display: table-row; }
  .cell { display: table-cell; }

模拟表格布局,避免使用真实表格标签。

  • flexnone 组合
    隐藏 Flex 子项但保留布局空间:
css
  .hidden-item { display: none; }  /* 完全隐藏,不占位 */
  .invisible-item { visibility: hidden; }  /* 隐藏但保留空间 */
3. 完整对比表格
布局类型是否生成块级框是否占位常见用途兼容性
block块级容器元素全部支持
inline内联文本元素全部支持
inline-block内联块级图标+文字组合全部支持
flex弹性容器响应式布局需前缀(旧版)
inline-flex内联弹性内联弹窗需前缀(旧版)
grid网格容器复杂布局(如卡片列表)需前缀(旧版)
inline-grid内联网格内联网格需前缀(旧版)
table表格容器替代 <table>全部支持
table-cell表格单元格表格布局单元格全部支持
contents透明容器替换容器结构部分现代浏览器支持
none隐藏元素-动态隐藏元素全部支持

4. 注意事项
  • display: contents 的风险:元素消失后,子元素会继承父级样式,可能导致布局混乱。
  • run-in 的局限性:浏览器支持有限,且行为复杂,建议避免使用。
  • 响应式设计:通过 @media 结合 display 可切换布局模式(如移动端 block → 桌面端 inline-block)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱的叹息

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

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

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

打赏作者

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

抵扣说明:

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

余额充值