CSS Display 双值语法

CSS的 display 属性是控制元素如何显示的核心属性。随着CSS规范的不断发展,display属性引入了更灵活的双值语法,让我们能够更精确地控制元素的布局行为。

双值语法

CSS Display Module Level 3 引入了双值语法,格式为:

css 复制代码
display: [ <display-outside> || <display-inside> ] | <display-legacy>

<display-outside> = 
  block   |
  inline  |
  run-in  

<display-inside> = 
  flow       |
  flow-root  |
  table      |
  flex       |
  grid       |
  ruby

<display-legacy> = 
  inline-block  |
  inline-table  |
  inline-flex   |
  inline-grid

注:

  • display: <display-inside> = display: block <display-inside>
  • display: <display-outside> = display: <display-outside> flow
  • display: inline-block = display: inline flow-root

外部显示类型 (<display-outside>)

外部显示类型定义了元素在父容器中的行为:

  • block 块级元素
    • 元素会独自占据一行宽度并扩展至父容器的完整宽度。
    • 常见的块级元素如 <div><p><h1>
  • inline 行内元素
    • 元素仅占据内容所需的空间,不开启新的行。
    • 常见的如 <span><a><em> 等。
  • run-in 运行内元素,
    • 根据上下文决定是块级还是行内

内部显示类型 (<display-inside>)

内部显示类型定义了元素内部内容的布局方式:

  • flow - 正常文档流布局(默认)
    • 元素按照通常的块级和行内模式排布。
    • 没有特别指定内部布局的元素,如 div 或 span,即包含块级和行内内容。
  • flow-root - 创建新的块级格式化上下文(BFC),独立排版:
    • 包裹的内容不会受到外部的浮动或其他影响,而是作为独立流处理。
    • 常用于清除浮动的情境,如包含浮动元素的父元素。
  • table - 表格布局
    • 元素及其子元素会按照表格的规则进行布局。
    • <table> 元素及其子元素 <tr><td> 等。
  • flex - 弹性布局
    • 内容会按照弹性盒模型进行排布,允许灵活上下左右排列子元素。
  • grid - 网格布局
    • 允许创建二维网格布局,简化复杂的页面布局。
  • ruby - 注音布局,专门用于排版东亚语言中的注音旁注
    • 常用于显示拼音或者注释文字,在主要文本旁边进行注音。
    • 主要适用于中文、日文、韩文的语言注释。
相关推荐
小彭努力中2 小时前
194.Vue3 + OpenLayers 实战:动态位置 + 高度 + 角度,模拟卫星地面覆盖范围
前端·css·vue.js·openlayers·animate
Luna-player8 小时前
Vue 组件,用来实现一个响应式图标网格布局,核心是用 CSS 实现固定宽高比的正方形容器,并在里面放置图片和文字。
前端·css·vue.js
Greg_Zhong11 小时前
Css知识之伪类和伪元素
前端·css
余瑜鱼鱼鱼11 小时前
css常用功能总结(三)(Chrome 调试工具 -- 查看 CSS 属性)
前端·css·chrome
Dxy123931021612 小时前
HTML常用CSS样式推荐:打造高效、美观的网页设计
前端·css·html
Predestination王瀞潞12 小时前
6.5.1 软件->W3C HTML5、CSS3标准(W3C Recommendation):CSS(Cascading Style Sheet)
css·css3·html5
xiaotao13121 小时前
什么是 Tailwind CSS
前端·css·css3
xiaotao1311 天前
03. 原子化 CSS 思想
前端·css·tailwind
爱宇阳1 天前
Nuxt4 + Tailwind CSS v4 自定义响应式断点完整指南
前端·css·nuxt4
孟祥_成都1 天前
前端下午茶:这 3 个网页特效建议收藏(送源码)
前端·javascript·css