当前位置: 首页 > article >正文

CSS display有几种属性值

在 CSS 中,display 属性是控制元素布局和渲染方式的核心属性之一。它有多种属性值,每个值都决定了元素在文档流中的表现形式。以下是 display 的主要属性值分类及说明:

1. 块级和行内布局

块级元素 (block)
  • 特性:独占一行,可设置宽高,宽度默认占满父容器。
  • 示例<div><p><h1><ul> 等。
行内元素 (inline)
  • 特性:不会换行,宽度由内容决定,无法设置宽高(仅受 paddingmargin 水平方向影响)。
  • 示例<span><a><img><input> 等。
行内块元素 (inline-block)
  • 特性:不换行,但可设置宽高,像单行内的块级元素。
  • 示例:按钮、输入框常使用此值。

2. 弹性布局 (flex) 和网格布局 (grid)

Flexbox (display: flex / inline-flex)
  • 特性:一维布局模型,适合按行或列排列子元素。
  • 应用:导航栏、卡片布局、自适应组件。
Grid (display: grid / inline-grid)
  • 特性:二维布局模型,同时处理行和列。
  • 应用:复杂网格、响应式布局。

3. 表格布局

表格相关值
  • table:类似 <table> 标签。
  • table-row:类似 <tr> 标签。
  • table-cell:类似 <td> 标签。
  • 应用:老式表格布局(现代优先使用 flex/grid)。

4. 隐藏元素

none
  • 特性:元素完全从文档流中移除,不占据空间。
  • 对比visibility: hidden 仍占据空间,但不可见。

5. 多列布局

column 相关值
  • inline-column:实验性值,类似 column 但为行内模式。
  • 应用:报纸式多列文本布局(需配合 column-count 等属性)。

6. 其他布局模式

浮动和绝对定位
  • flow-root:创建 BFC(块级格式化上下文),清除浮动影响。
  • 应用:父元素包含浮动子元素时防止高度塌陷。
混合值
  • run-in:根据上下文变为块级或行内元素(兼容性差,少用)。

7. 实验性和特殊值

  • contents:元素本身不渲染,仅渲染子元素(兼容性有限)。
  • rubyruby-baseruby-text:用于日语注音(小文字)排版。

示例代码

css

.block {display: block; /* 块级元素 */
}.inline {display: inline; /* 行内元素 */
}.flex-container {display: flex; /* Flexbox 容器 */
}.grid-container {display: grid; /* Grid 容器 */
}.hidden {display: none; /* 完全隐藏元素 */
}.clear-float {display: flow-root; /* 清除浮动 */
}

总结

分类属性值核心作用
基础布局blockinlineinline-block控制元素的基本显示模式
弹性布局flexinline-flex一维灵活布局
网格布局gridinline-grid二维网格布局
表格布局tabletable-rowtable-cell模拟表格结构
隐藏元素none完全移除元素
特殊布局flow-rootcontents处理浮动、子元素渲染

现代 CSS 中,flex 和 grid 是构建复杂布局的首选方式,而传统的表格布局和浮动已逐渐被淘汰。根据具体需求选择合适的 display 值,可以大幅提升布局效率和代码可维护性。

http://www.lryc.cn/news/2383317.html

相关文章:

  • 【后端】【UV】【Django】 `uv` 管理的项目中搭建一个 Django 项目
  • 单片机设计_四轴飞行器(STM32)
  • kafka配置SASL_PLAINTEXT简单认证
  • PostgreSQL简单使用
  • 【Spring Boot】配置实战指南:Properties与YML的深度对比与最佳实践
  • 算法优选系列(9.BFS 解决拓扑排序)
  • (1)Java 17/18/19 新特性面试题
  • LAN(局域网)和WAN(广域网)
  • 【Java高阶面经:微服务篇】7. 1秒响应保障:超时控制如何成为高并发系统的“救火队长”?
  • 力扣周赛置换环的应用,最少交换次数
  • 大语言模型 12 - 从0开始训练GPT 0.25B参数量 MiniMind2 补充 训练开销 训练步骤 知识蒸馏 LoRA等
  • hgdbv9创建plpython3u插件后无法使用该插件创建函数
  • SQLMesh 宏操作符详解:@IF 的条件逻辑与高级应用
  • nt!MiRemovePageByColor函数分析之脱链和刷新颜色表
  • 【爬虫】12306自动化购票
  • 不同消息队列保证高可用实现方案
  • 【Django系统】Python+Django携程酒店评论情感分析系统
  • spring cloud alibaba-Geteway详解
  • c#中添加visionpro控件(联合编程)
  • 性能测试-mysql监控
  • 游戏引擎学习第301天:使用精灵边界进行排序
  • CSS attr() 函数详解
  • 【AI生成PPT】使用ChatGPT+Overleaf自动生成学术论文PPT演示文稿
  • 流复备机断档处理
  • Linux 安装 pytorch+cuda+gpu 大模型开发环境过程记录
  • 局部放大maya的视图HUD文字大小的方法
  • 数学复习笔记 16
  • 初识Linux · NAT 内网穿透 内网打洞 代理
  • STM32接收红外遥控器的遥控信号
  • Redis从入门到实战 - 高级篇(下)