Spec-Zone.ru › CSS

Порядок

Базовая линия Широко доступна

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство order CSS задает порядок расположения элемента в контейнере flex или grid. Элементы в контейнере сортируются по возрастанию значения order , а затем по порядку их исходного кода. Элементы, которым не задано явное значение order, получают значение по умолчанию 0.

Попробуйте

В приведенном примере выберите опции в левой части, чтобы изменить значение свойства order розового блока. Светло-голубым блокам заданы фиксированные значения order.

Учитывайте влияние порядка исходного кода. Например, когда выбран order: 2;, розовая рамка размещается перед двумя синими блоками с order: 2;. Это происходит потому, что розовая рамка находится перед синими блоками в исходном коде.

Синтаксис

/* <integer> values */
order: 5;
order: -5;

/* Global values */
order: inherit;
order: initial;
order: revert;
order: revert-layer;
order: unset;

Поскольку order предназначено только для влияния на визуальный порядок элементов, а не на их логический или порядок табуляции, order нельзя использовать для невизуальных носителей информации, таких как звук.

Определяемое в модуле CSS display, это свойство влияет только на элементы grid и flex. Когда order задано элементу, у которого родительское свойство display не создает контейнер flex или grid, свойство order не оказывает никакого влияния.

Значения

<integer>

Представляет порядковую группу, используемую элементом.

Доступность

Использование свойства order создает разрыв между визуальным представлением содержимого и порядком в DOM. Это негативно повлияет на пользователей с нарушениями зрения, которые навигации с помощью вспомогательных технологий, таких как экранный диктор. Если визуальный порядок отличается от порядка в DOM, у ваших пользователей будет разный опыт, в зависимости от того, как они получают доступ к вашему контенту.

  • Flexbox & the keyboard navigation disconnect от Tink (2016)
  • Source Order Matters от Адриана Росселли (2015)
  • Понимание WCAG, пояснения к руководству 1.3
  • Понимание критерия успеха 1.3.2 | W3C Понимание WCAG 2.0

Формальное определение

Начальное значение 0
Применимо к Элементы Flex, grid и абсолютно позиционированные дочерние элементы контейнеров flex и grid
Наследуется нет
Вычисляемое значение как указано
Тип анимации целое число integer

Формальный синтаксис

order = 
<integer>

Примеры

Упорядочивание элементов в контейнере flex

В этом примере мы создаем классическую двухстороннюю компоновку.

HTML

Мы включаем заголовок, подвал и основную область содержимого. Основное содержимое включает статью и две боковые панели. Обратите внимание на их порядок! Мы будем использовать свойство CSS order для изменения их визуального порядка.

<header>Header</header>
<main>
  <article>Article</article>
  <nav>Nav</nav>
  <aside>Aside</aside>
</main>
<footer>Footer</footer>

CSS

Мы стилизуем основную область, используя возможности модуля гибкой компоновки; установив display в flex, элемент <main> становится контейнером flex. По умолчанию это создает элементы flex одинакового вертикального размера. У боковых панелей оба заданы абсолютные width, в то время как элемент <article> будет использовать все положительное свободное пространство с коэффициентом flex-grow, заданным через flex.

Затем мы задаем разные значения свойства order для каждого из трех дочерних элементов контейнера flex; это означает, что CSS определяет визуальный порядок компонента, а не его порядок, объявленный в HTML.

main {
  display: flex;
  text-align: center;
}
main > article {
  flex: 1;
  order: 2;
}
main > nav {
  width: 200px;
  order: 1;
}
main > aside {
  width: 200px;
  order: 3;
}

Результат

Элемент <article> появляется первым в порядке исходного кода, но визуально отображается посередине.

Спецификации

Спецификация
CSS Display Module Level 3
# order-property

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
order 2921 1212
20Поддержка многострочного flexbox в Firefox 28.
49
12.1 97 2925
20Поддержка многострочного flexbox в Firefox 28.
49
12.1 97 2.01.5 4.44.4

См. также

  • Основные понятия flexbox
  • Упорядочивание элементов flex
  • CSS grid layout и доступность
  • Модуль CSS display

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/order

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API