order属性用于调整Flexbox和Grid布局中子元素的视觉顺序,数值越小越靠前,默认为0,可接受正负整数,最终顺序按值排序,相同时遵循HTML源序。

在CSS中,可以通过 order 属性来控制元素的显示顺序,这一属性主要应用于 Flexbox 和 Grid 布局。它允许你重新排列子元素的视觉顺序,而不影响HTML结构。
order 属性的基本用法
order 属性接受一个整数值(正数、负数或零),默认值为 0。数值越小,元素越靠前显示;数值相同时,按HTML源顺序排列。
注意:order 只在 Flex 容器或 Grid 容器的直接子元素上生效。与 Flexbox 结合使用
在 Flex 布局中,设置容器为 display: flex 后,其子元素可通过 order 调整顺序。
示例:
立即学习“前端免费学习笔记(深入)”;
.container {
display: flex;
}
.item1 { order: 2; }
.item2 { order: -1; }
.item3 { order: 0; }
最终显示顺序为:item2 → item3 → item1。尽管 item2 在HTML中可能排在后面,但因 order 值最小,所以最先显示。
与 CSS Grid 结合使用
在 Grid 布局中,同样通过 display: grid 启用后,子元素也可使用 order 属性调整顺序。
示例:
立即学习“前端免费学习笔记(深入)”;
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.box1 { order: 3; }
.box2 { order: 1; }
.box3 { order: 2; }
视觉顺序为:box2 → box3 → box1,不受HTML排列影响。
实用建议与注意事项
- order 不改变可访问性或焦点顺序,屏幕阅读器仍按HTML顺序读取,因此应保持语义合理。
- 避免过度依赖 order 来重构页面逻辑,HTML结构应尽量贴近视觉预期。
- 在响应式设计中,可结合媒体查询动态调整 order,实现布局切换。例如移动端调整标题位置。
- Grid 中更推荐使用 grid-column 或 grid-area 进行精确布局控制,order 更适合简单顺序调整。
基本上就这些。order 是个灵活的工具,配合 Flex 或 Grid 使用,能轻松实现视觉顺序的调整,但要记得兼顾语义和用户体验。










