0Pricing
CSS Academy · Урок

Свойство order и визуальная перестановка

Изменяйте визуальный порядок flex-элементов без изменения DOM с помощью свойства order.

«Свойство order и визуальная перестановка» — бесплатный урок CSS Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CSS Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CSS Academy содержит 4 уроков всего.

Свойство order

Свойство order изменяет визуальный порядок элементов флексбокса и сетки без изменения структуры DOM. По умолчанию значение равно 0; элементы с большими значениями отображаются позже, а с отрицательными — раньше.

Основы order

Элементы отображаются от наименьшего значения order к наибольшему. Элементы с одинаковым значением order отображаются в порядке DOM.

<div class="nav">
  <span class="nav-button">Button</span>
  <span class="nav-logo">Logo</span>
  <span class="nav-links">Links</span>
</div>

Отрицательное значение order

Используйте отрицательные значения, чтобы переместить элемент перед всеми элементами со значением по умолчанию (order:0):

<div class="list">
  <div>Item 1</div>
  <div class="sticky-first">Sticky</div>
  <div>Item 2</div>
</div>

Адаптивное изменение порядка

Изменяйте визуальный порядок в разных контрольных точках, не изменяя HTML:

<div class="layout">
  <main class="main-content">Main</main>
  <aside class="sidebar">Sidebar</aside>
</div>

Важно: предупреждение о доступности

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

Несоответствие порядка навигации с клавиатуры

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

Распространённые допустимые случаи использования

Визуальное изменение порядка допустимо, когда:

  • элементы не являются частью последовательности навигации (декоративный порядок)
  • визуальный порядок соответствует естественному ходу чтения, отличающемуся от порядка в исходном коде по причинам организации кода

Порядок во флексбоксе и CSS-сетке

Свойство order работает одинаково во флексбоксе и CSS-сетке. Оно управляет порядком в алгоритме компоновки, а не в DOM.

order при переносе строк

Когда элементы переносятся на новые строки, order определяет, какие элементы окажутся в каждой строке и в каком порядке они будут расположены внутри неё.

Изменение порядка всех элементов

Чтобы изменить порядок всех элементов, используйте flex-direction: row-reverse или column-reverse, а не задавайте отрицательные значения порядка для каждого элемента. Такой подход более семантичен и проще.

<div class="reversed-list">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

Анимация с изменением порядка

Изменения порядка нельзя анимировать в CSS. Если требуется анимированное изменение порядка, используйте трансформации или анимации на основе JavaScript, например Flip.js или анимации с помощью GSAP.

Быстрая проверка

Почему свойство order при изменении порядка ссылок навигации следует использовать с осторожностью?

Повторение

Свойство order изменяет визуальное положение элементов флексбокса или сетки, не затрагивая HTML. Значение по умолчанию — 0; элементы с меньшими значениями отображаются первыми, а с большими — последними. Используйте его для изменения порядка в адаптивных макетах без изменения структуры DOM. При изменении порядка всегда проверяйте, что порядок навигации с клавиатуры и порядок чтения с помощью экранного диктора остаются логичными.

Часто задаваемые вопросы

Урок «Свойство order и визуальная перестановка» бесплатный?

Да — полный текст урока «Свойство order и визуальная перестановка» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CSS Academy, подпишись на CoddyKit PRO. Курс CSS Academy содержит 4 уроков всего.

Чему я научусь в уроке «Свойство order и визуальная перестановка»?

Изменяйте визуальный порядок flex-элементов без изменения DOM с помощью свойства order. Ты практикуешь CSS Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать CSS Academy?

Предыдущий опыт не требуется. CSS Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Свойство order и визуальная перестановка»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке CSS Academy?

Да. Каждый урок CSS Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Переопределение выравнивания flex-элемента с align-self
  2. Свойство order и визуальная перестановка
  3. Сокращённые записи flex
  4. Распространённые макеты Flexbox: навигация, карточки, медиаблоки
← Назад к CSS Academy