order属性用于定义Grid子元素的排列顺序,默认值为0,数值越小越靠前,相同值时按DOM顺序排列。示例中.item1设为3、.item2为1、.item3为2,则显示顺序为item2→item3→item1。需注意order仅改变视觉顺序,不影响可访问性与导航顺序,建议避免极端数值并保持语义结构合理,适用于响应式布局调整。

在 CSS Grid 布局中,可以通过 order 属性来调整子元素的显示顺序,而不必改变 HTML 结构。这个属性的行为类似于 Flexbox 中的 order,但在 Grid 中同样有效。
什么是 order 属性?
order 属性用于定义 Grid 容器中子元素的排列顺序。默认情况下,所有子元素的 order 值为 0,元素按照它们在 HTML 中出现的顺序进行排列。通过设置不同的 order 值,可以将某个元素提前或延后显示。
如何使用 order 调整子元素顺序?
给 Grid 子元素设置 order 数值,数值越小越靠前,数值相同时按 DOM 顺序排列。
示例:HTML 结构:
123
CSS 样式:
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
.item1 { order: 3; }
.item2 { order: 1; }
.item3 { order: 2; }
最终显示顺序为:item2(order 1)→ item3(order 2)→ item1(order 3),即使它们在 HTML 中是按 1、2、3 排列的。
使用建议与注意事项
- order 只影响视觉顺序,不影响可访问性或键盘导航顺序。屏幕阅读器仍按 DOM 顺序读取内容,因此不要依赖 order 来改变语义结构。
- 避免过度使用负数或极大数值,保持代码可维护性。
- 多个元素设置相同 order 值时,它们按原始文档顺序排列。
- 适用于需要响应式布局中调整展示顺序的场景,比如在移动端将侧边栏移到内容下方。
基本上就这些。合理使用 order 能让你更灵活地控制布局,但要记得保持语义和结构的合理性。不复杂但容易忽略。










