现代项目首选 display: grid,避免 float 和手动 calc();Grid 语义清晰、天然响应式、子项等高、gap 间距可靠;IE11 需回退兼容;移动端必须 media query 切单列;注意盒模型统一与布局逻辑不混用。 现代项目直接用 display: grid,别碰 floa

现代项目直接用 display: grid,别碰 float 和手动 calc();Flexbox 仅在需兼容 IE11 或动态等高有强依赖时才选。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
一行代码定义列宽,语义清晰,天然支持响应式切换。告别管理子项顺序、清除浮动、依赖DOM排列的旧时代,gap 控制间距也比 margin 可靠得多。
grid-template-columns: 200px 1fr 200px —— 左右定宽,中间自适应grid-template-columns: 1fr 2fr 1fr —— 三栏按比例伸缩(主内容占一半)gap,得回退用 grid-column-gap + grid-row-gap小屏下三栏横向挤在一起,用户要左右滑动才能看全,体验极差。必须在 @media (max-width: 768px) 里强制改成单列。
grid-template-columns: 1fr,三栏垂直堆叠display: block 覆盖,会破坏 Grid 上下文order:.main { order: -1; }.sidebar-left { display: none; }很多人在小屏用 Flexbox 改成竖排,但忘了重置子项的 flex 行为,导致高度失控或换行异常。
立即学习“前端免费学习笔记(深入)”;
.column { flex: none; width: 100%; },避免 flex: 1 继续拉伸align-items: stretch 保证宽度撑满,否则可能留白flex: 1 解析不准,建议写全 flex: 1 1 autoword-break: break-word,不是父容器几乎所有三栏错位问题,根源都在没统一盒模型或乱用 margin。
* { box-sizing: border-box; },否则 width: 200px + padding: 10px = 实际占 220pxmargin 加在直接参与栅格计算的元素上(如 .col-4),它会破坏宽度计算 来管 padding 和 margin
gap 在 Grid/Flex 中都可用,且不会塌陷,比 margin 更稳
真正麻烦的不是写法本身,而是混合使用不同布局逻辑——比如在 Grid 容器里又给子项加 float,或者用 flex-wrap: wrap 试图让三栏在窄屏自动折行,结果发现根本不会折,因为默认不换行。这类细节一旦漏掉,调试时间远超重写成本。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述