IT评测·应用市场-qidao123.com技术社区

标题: CSS 视觉格式化模子 [打印本页]

作者: 我可以不吃啊    时间: 6 天前
标题: CSS 视觉格式化模子
CSS 视觉格式化模子(Visual Formatting Model)是 CSS 的核心布局机制,它界说了浏览器怎样将 DOM 树转换为可视化布局。以下是其核心要点解析:
1. 根本概念

视觉格式化模子通过以下要素控制元素布局:

2. 关键布局规则

(1)盒类型(display 属性)

类型特性块级盒独占一行,可设置宽高(如 <div>、<p>)行内盒不换行,宽高由内容决定(如 <span>、<a>)行内块盒行内布局但可设宽高(如 <img>、<button>)弹性盒通过 display: flex 启用弹性布局网格盒通过 display: grid 启用网格布局 (2)定位方案

定位模式(position)脱离文档流定位基准典型用例static (默认)否正常流普通文档流布局relative否自身原始位置微调元素位置absolute是最近非 static 祖先弹出层、精确定位fixed是视口固定导航栏、悬浮按钮sticky否→是最近滚动祖先+视口吸顶效果 (3)浮动(float)


3. 格式化上下文

(1)块级格式化上下文(BFC)

触发条件
  1. float: left/right;
  2. position: absolute/fixed;
  3. display: inline-block/table-cell/flex/grid;
  4. overflow: hidden/auto/scroll;
复制代码
特性

(2)行内格式化上下文(IFC)


(3)弹性格式化上下文(FFC)


(4)网格格式化上下文(GFC)


4. 层叠与渲染次序

元素按以下次序层叠(从底到顶):
5. 经典布局题目与解决方案

题目解决方案垂直居中Flexbox (align-items: center + justify-content: center)等高列Flexbox 或 Grid 布局打扫浮动clearfix 或父元素触发 BFC外边距折叠触发 BFC 或改用 padding圣杯布局Flexbox/Grid 或传统浮动方案 6. 现代布局实践

(1)Flexbox 示例

  1. .container {
  2.   display: flex;
  3.   justify-content: space-between;
  4.   align-items: center;
  5. }
复制代码
 (2)Grid 示例

  1. .container {
  2.   display: grid;
  3.   grid-template-columns: 1fr 2fr;
  4.   gap: 20px;
  5. }
复制代码
(3)多列布局

  1. .container {
  2.   column-count: 3;
  3.   column-gap: 1em;
  4. }
复制代码
7. 性能优化要点


可视化总结


理解视觉格式化模子是掌握 CSS 布局的核心,现代布局方案(Flexbox/Grid)虽简化了开发,但底层仍遵循此模子规则。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4