真正起作用的是父容器的弹性上下文,不是子元素自己“变灵活”;需将并列元素放入同一父容器并设display:flex,再用justify-content:space-between或margin实现左右锚定。

直接给两个 Flexbox 的布局能力只作用于**直接子元素**。如果 这是最直白、语义最清晰的方案:父容器设 移动端折叠菜单后, 真正卡住人的从来不是语法,而是没意识到 Flexbox 的控制权在父容器手里。只要结构层级和 display: flex,它们不会自动排在同一行——这是最常见的误判点。真正起作用的是父容器的弹性上下文,不是子元素自己“变灵活”了。为什么
display: flex 加在子元素上没用.logo 和 .nav-links 是并列的兄弟节点,各自设 display: flex,只是让它们内部的子项(比如 或 )能弹性排列,但二者本身仍是块级元素,默认垂直堆叠。
.logo 占满一行,.nav-links 紧跟其后另起一行justify-content: center,也只影响内部对齐,不改变二者之间的空间关系display: flex
用
justify-content: space-between 实现左右锚定display: flex + justify-content: space-between,左区元素放第一个,右区放最后一个,中间自动留空。
.nav-left 和 .nav-right 上再设 margin-left/right: auto,会干扰 space-between 的计算margin-left: auto 和 margin-right: auto 配合三兄弟结构更稳响应式切换时容易漏掉的对齐重置
justify-content: space-between 依然生效,但此时左右两区可能被压缩进窄容器,导致文字换行或溢出。
@media (max-width: 768px) 中,建议把父容器设为 flex-direction: column,再用 align-items: flex-start 统一左对齐text-align: right 想让导航右对齐——它只影响内联内容的对齐,对 flex 子项无效position: absolute 做动画背景,右对齐时记得把 left 改成 right,否则定位会偏移justify-content / margin 的配合关系理清了,左右对齐就只是几行 CSS 的事——但一旦嵌套多一层或加个无关的 float,整个布局就可能悄无声息地失效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











