Зарегистрируйтесь, чтобы продолжить обучение

Свойства Flex-элементов. Расположение CSS: Основы Flex

Помимо работы с гибкостью элементов, модуль Flex позволяет для каждого элемента внутри флекс-контейнера устанавливать месторасположение относительно других элементов. Для этого существует два свойства, которые мы рассмотрим в этом уроке:

  • order
  • align-self

Для рассмотрения этих свойств возьмем CodePen и расположим три элемента внутри флекс-контейнера. Как и в прошлых уроках, вы можете изменять код внутри CodePen, что очень поможет вам в изучении данных свойств.

Блоки специально сделаны разной высоты для большей наглядности работы свойств.

order

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

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

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

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

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

Цвета элементов без свойства order были сделаны немного темнее, чтобы точно можно было соотнести их расположение в браузере и в верстке. Приглядитесь к тому, где расположены блоки с классами .bg-red-one, bg-green-two и bg-blue-three. Поэтому, если хотите сохранить полный контроль над расположением блоков, выставляйте свойство order для всех элементов внутри контейнера, если это свойство вам понадобилось.

align-self

Свойство align-self по своему назначению похоже на свойство align-items, которое мы рассмотрели в одном из прошлых уроков. Главным отличием является то, что свойство align-self применяется не ко всему флекс-контейнеру, а к одному конкретному элементу внутри контейнера, для которого мы хотим сменить расположение по поперечной оси.

Основными значениями свойства align-self являются:

  • center
  • flex-start
  • flex-end
  • baseline

В данном CodePen были добавлены следующие классы:

  • align-self-center
  • align-self-start
  • align-self-end
  • align-self-baseline

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

Документация

  • order
  • align-self

Дополнительные материалы

  1. Игра для закрепления материала

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 26 декабря
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 26 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»