第 1 课:让盒子排成一行的那行声明
没有 Flexbox 时,盒子只会竖着堆。为什么?
往页面上放三个 <div>,它们会竖直堆叠,每个独占一行。这是正常的块级布局,而多年以来,把它们并排放的办法只有浮动和 inline-block 这类到处漏间距 bug 的手段。如果 Flexbox 在你眼里是一堆“粘贴上去再祈祷”的属性,通常是因为没人给你讲它做的第一件事,也就是其他所有属性都依赖的那件事。
完整课节,在你的电脑里继续
往页面上放三个 <div>,它们会竖直堆叠,每个独占一行。这是正常的块级布局,而多年以来,把它们并排放的办法只有浮动和 inline-block 这类到处漏间距 bug 的手段。如果 Flexbox 在你眼里是一堆“粘贴上去再祈祷”的属性,通常是因为没人给你讲它做的第一件事,也就是其他所有属性都依赖的那件事。
完整课节,在你的电脑里继续
我想把 CSS flexbox 学明白。
learn-css-flexbox 已生成。5 个课节落进本机,全是明文。
```agentmentor-check
{
"id": "css-flexbox-flex-items-scope",
"label": "哪些元素是 flex item",
"prompt": "你在一个装着三张卡片的容器上设置了 display: flex,每张卡片内部还有一个标题和一个段落。哪些元素会变成 flex item、被摆放到容器的主轴上?",
"whyHere": "初学者常以为 display: flex 会安排所有后代元素。实际上只有容器的直接子元素变成 flex item,而这决定了主轴真正移动的是什么。",
"mode": "single",
"choices": [
{ "id": "all", "text": "容器里的每一个元素,包括标题和段落。", "correct": false, "feedback": "flex 只往下作用一层。标题和段落是各张卡片的子元素,所以安排它们的是卡片,不是这个 flex 容器。" },
{ "id": "direct", "text": "只有容器的直接子元素,也就是那三张卡片。", "correct": true, "feedback": "对。display: flex 把直接子元素变成 flex item;卡片自己的内容由卡片来安排,不由这个 flex 容器安排。" },
{ "id": "classed", "text": "只有你额外加了特殊 flex class 的元素。", "correct": false, "feedback": "不存在按元素逐个开启的 class。父元素设为 display: flex 后,直接子元素会自动成为 flex item。" }
],
"copyPurpose": "把这道题和我的回答复制给 agent,让它检查我是否仍然以为 display: flex 会安排所有后代元素,而不是只作用于直接子元素。"
}
```这道题是真的 · 本地判分
今日复习
答对的会隔更久再来,答错的明天再见。
CSS Flexbox:弹性布局入门 (1)
来自 CSS Flexbox:弹性布局入门 · 第 4 课:剩余空间的分配
题目在 agent 产课时写定。复习由阅读站按 Leitner 间隔排期。
这些文件落在你的机器上
# 第 1 课:让盒子排成一行的那行声明 > 本课目标: > - 说出 `display: flex` 对容器及其子元素做了什么。 > - 辨认哪些元素会变成 flex item(哪些不会)。 > - 预测 flex item 默认沿主轴排成一行。 > > 先修条件:你会写一个带 class 的 `<div>` 并设置一个 CSS 属性 | 下一篇 [02 >>](./02-two-axes-justify-align.md) ## 没有 Flexbox 时,盒子只会竖着堆。为什么? 往页面上放三个 `<div>`,它们会竖直堆叠,每个独占一行。这是正常的块级布局,而多年以来,把它们并排放的办法只有浮动和 inline-block 这类到处漏间距 bug 的手段。如果 Flexbox 在你眼里是一堆“粘贴上去再祈祷”的属性,通常是因为没人给你讲它做的第一件事,也就是其他所有属性都依赖的那件事。这一课只讲这第一件事:一条声明,把竖着的堆变成横着的一行。掌握这一点,课程剩下的部分不过是“哪个方向、哪条轴”。
装进你已有 coding agent 的一套 skill。它写课节,本地 Next.js 阅读站渲染成课。
全是真的,也全是生成的。落到你机器上的,就是这些。
# 第 1 课:让盒子排成一行的那行声明 > 本课目标: > - 说出 `display: flex` 对容器及其子元素做了什么。 > - 辨认哪些元素会变成 flex item(哪些不会)。 > - 预测 flex item 默认沿主轴排成一行。 >
# 第 2 课:两条轴,两个属性 > 本课目标: > - 说出 flex 容器的主轴和交叉轴。 > - 把 `justify-content` 对应到主轴,把 `align-items` 对应到交叉轴。 > - 有意识地把一个元素水平加垂直居中,而不是碰运气。 >
# 第 3 课:flex-direction 与主轴的转向 > 本课目标: > - 说出 `flex-direction` 做什么,并列出它的四个值。 > - 解释为什么 `justify-content` 不是“水平属性”。 > - 预测主轴变成竖列后,哪个属性负责上下移动 item。 >
# 第 4 课:剩余空间的分配 > 本课目标: > - 解释 `flex-basis`、`flex-grow`、`flex-shrink` 各自控制什么。 > - 预测 `flex-grow` 如何划分自由空间(不是总宽度)。 > - 读懂 `flex` 简写,并知道 `flex: 1` 展开成什么。 >
# 第 5 课:换行与真实布局 > 本课目标: > - 用 `flex-wrap: wrap` 让 item 流到多行,而不是溢出容器。 > - 用 `gap` 拉开 item 间距,代替琐碎的 margin。 > - 用整门课学到的东西,搭一个真实的响应式导航栏和卡片行。 >
{
"schemaVersion": 2,
"originalRequest": "我已经会写基础的 HTML 和 CSS,能设置颜色、内边距和宽度,也能给简单页面做样式,但 Flexbox 对我仍然像碰运气。我从来分不清什么时候用 justify-content、什么时候用 align-items,对主轴和交叉轴没有直觉,flex-grow/flex-shrink/flex-basis 也让我困惑。我不会 CSS Grid。教我 Flexbox,让我能有把握地搭出居中、导航栏、卡片行这些常见布局。",
"learnerBrief": "一个熟悉基础 HTML/CSS 但不熟悉 Flexbox 的开发者。目标是建立 flex 容器两条轴的真实心智模型,让对齐和尺寸属性不再靠猜,最终能搭出常见的真实布局。",[
{
"term": "flex container",
"def": "设置了 display: flex 的元素,它的直接子元素会作为 flex item 沿一条轴摆放。",
"source": "[^S1]"
},
{--- domain: 软件 tags: [CSS, Flexbox, 入门, 布局, 实时沙盒] lang: zh --- # CSS Flexbox:弹性布局入门
# Sources ## S1 — MDN: Basic concepts of flexbox URL: https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Flexible_box_layout/Basic_concepts - authority: official-docs - supports: 第 1-3 课:`display: flex` 做什么、直接子元素成为 flex item、主轴与交叉轴,以及 `justify-content` 沿主轴对齐、`align-items` 沿交叉轴对齐。
聊天留给你的是一段对话流水。这里留下的是一门课:课节是文件,来源点得开,练习本地判分,复习按间隔排期,全在你机器上。
全在你自己的机器上:明文 Markdown,加一个本地阅读站。愿意的话丢进 git。没有云端账号这回事。
能,免费 prompt 有的是。你买的是 prompt 带不动的另一半:本地判分的运行时、按 Leitner 间隔排期的复习、交付前的 guard 质检、到 HTML、PDF 和 Anki 的导出链。这一半是软件。
热门主题的精修仓确实好,值得直接读。区别在别处:这里任何主题都能成课,深浅按你报的基础定,练习就地判分,复习到期回访。
三道关:动笔前先立学习者简报,写作全程强制留来源记录,交付前过 20 多项 course-guard 检查。来源条条可以点开自查;全是营销稿或纯 AI 生成的来源清单,guard 直接判不通过。
Codex、Claude Code、opencode 都逐一验证过,装上就能用。再宽一点说:能读 skill 目录、能上网搜索的本地 agent 都跑得动;不能搜索的,来源由你来提供。
核心功能不要。这套 skill 用的就是你 agent 自己的能力;想拿 YouTube 字幕当来源,装个 yt-dlp 即可。阅读站另有一个可选的课节内就地问答层,用你自己向模型服务商购买的 key,默认关闭;不配它,已买的一切功能一分不少。
能。阅读站按零基础设计,示例课里就有一门整门无代码。学什么由你的一句话定:写作、表格、任何手艺;代码练习只出现在编程题材里。
国内销售开放时,具体的上架平台、付款方式和账单显示信息会随平台商品页一并公布;购买前请以届时公开的商品页为准。