フレックスアイテムの表示順序を変更するプロパティです。HTMLの記述順序を変えずに、視覚的な並び順だけを調整できます。アクセシビリティを保ちながらレスポンシブデザインに対応できます。
order: <integer>
.first {
order: 1;
}
.second {
order: 3;
}
.third {
order: 2;
}
HTMLの順序(1,2,3)を視覚的に(1,3,2)の順序で表示
.sidebar {
order: 2;
}
.main {
order: 1;
}
@media (max-width: 768px) {
.sidebar {
order: 1;
}
.main {
order: 2;
}
}
レスポンシブレイアウトでPC時とモバイル時の順序を切り替え
.feature-box:nth-child(2) {
order: -1;
}
.feature-box:nth-child(1) {
order: 1;
}
.feature-box:nth-child(3) {
order: 0;
}
複数要素の順序を数値で細かく制御
.header {
order: -999;
}
.footer {
order: 999;
}
.content {
order: 0;
}
ヘッダーを最初、フッターを最後に確実に配置
デフォルト値は0。負の値も使用可能で、小さい値ほど前に表示される。SEOとアクセシビリティを考慮してHTMLの順序は論理的に保つこと。レスポンシブデザインでの順序変更に非常に便利。
HTMLの論理的な順序を無視して視覚的な順序だけを重視すると、スクリーンリーダーでの読み上げ順序が不自然になる。orderは親要素がdisplay: flexまたはdisplay: gridの場合のみ有効。
IE11+, 全モダンブラウザ