流体布局 海报
№ 239

流体布局

定义 Definition

基于比例与弹性的布局方式,界面元素随窗口尺寸变化而自动调整,适配更广泛的显示效果。

要目 Key Points
百分比宽度按百分比分配宽度,随窗口变化等比例伸缩。
连续拉伸中间区域连续拉伸,填充剩余空间。
弹性分栏分栏按比例弹性伸缩,适配各种屏幕尺寸。
用法 Application

适用于需要适配多种屏幕尺寸的界面,元素随窗口自由伸缩,显示效果更灵活。

关键词 Keywords
流体布局百分比宽度连续拉伸弹性分栏
参见 Related
易混 Confusable
回忆评估 Review
看完海报,凭回忆作答——评分后排入复习队列
一级分类网页与 UI
本主题共21 个概念
高清原图 CDN 打开 ↗
学习路径 图鉴 · 研习两用

实况演示

Live Demo · 真实 HTML/CSS
拖拽右下角调整宽度 · 独立页打开 ↗ 查看源码 ↗
关键 CSS fold / unfold
/* ═══ 本 demo 自定义样式 ═══ */

.fluid { display: grid; grid-template-columns: 30% 1fr; gap: 3%; }
  .fluid .blk { min-height: 70px; }
  .fluid .side { display: grid; gap: 3%; }
  .fluid .side .blk { min-height: 33px; }

/* ═══ 共享令牌类 · demo 外壳已内置 ═══ */

.blk {
  background: color-mix(in srgb, var(--ink) 4%, transparent);
  border: 1px solid var(--line); border-radius: 2px;
  display: grid; place-items: center;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; color: var(--ink-2);
  padding: 10px; min-height: 34px;
}
.blk.acc {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent);
}
.blk.ink { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.tag {
  display: inline-block; font-family: var(--mono); font-size: 10px; letter-spacing: .08em;
  border: 1px solid var(--line); color: var(--ink-2); padding: 2px 8px;
  border-radius: 2px; background: var(--paper-2);
}
.card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 3px; overflow: hidden; }
.card .cv { aspect-ratio: 16/10; background: color-mix(in srgb, var(--accent) 10%, var(--paper-2)); border-bottom: 1px solid var(--line); }
.card .bd { padding: 9px 10px; }
.card .bd .t { font-weight: 600; font-size: 12.5px; }
.card .bd .m { font-family: var(--mono); font-size: 10px; color: var(--ink-3); margin-top: 2px; }
.avatar {
  width: 34px; height: 34px; border-radius: 50%; flex: none;
  background: color-mix(in srgb, var(--accent) 22%, var(--paper-2)); border: 1px solid var(--line);
}
.fake-text { height: 8px; background: color-mix(in srgb, var(--ink) 10%, transparent); border-radius: 1px; }
.fake-text.w60 { width: 60%; } .fake-text.w80 { width: 80%; } .fake-text.w40 { width: 40%; }
.fake-text + .fake-text { margin-top: 6px; }

同主题

查看全部 →