ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

CSS Учебник

CSS СТАРТ CSS Введение CSS Синтаксис CSS Селекторы CSS Как подключить CSS Комментарии CSS Цвета CSS Фоны CSS Границы CSS Margin CSS Padding CSS Height/Width CSS Блочная модель CSS Контур CSS Текст CSS Шрифты CSS Иконки CSS Ссылки CSS Списки CSS Таблицы CSS Display CSS Max-Width CSS Position CSS Overflow CSS Float CSS Inline-Block CSS Выравнивание CSS Комбинаторы CSS Псевдо-классы CSS Псевдо-элементы CSS Opacity CSS Панель навигации CSS Выпадающие списки CSS Галерея изображений CSS Спрайты изображений CSS Селекторы атрибутов CSS Формы CSS Счётчики CSS Макет веб-сайта CSS Единицы CSS Специфичности CSS !important

CSS Продвинутый

CSS Закругленные углы CSS Границы изображений CSS Фоны CSS Цвета CSS Ключевые слова цвета CSS Градиенты CSS Тени CSS Эффекты текста CSS Веб-шрифты CSS 2D Трансформации CSS 3D Трансформации CSS Переходы CSS Анимации CSS Подсказки CSS Стили изображений CSS Отражение изображения CSS object-fit CSS object-position CSS Кнопки CSS Нумерация страниц CSS Несколько столбцов CSS Пользовательский интерфейс CSS Переменные CSS Размеры блоков CSS Медиа-запросы CSS Примеры медиа-запросов CSS Flexbox

CSS Адаптивный

RWD Введение RWD Область просмотра RWD Вид сетки RWD Медиа-запросы RWD Изображения RWD Видео RWD Фреймворки RWD Шаблоны

CSS Grid (Сетка)

Grid Введение Grid Контейнер Grid Элементы

CSS Примеры

CSS Шаблоны CSS Примеры CSS Викторина CSS Упражнения CSS Сертификат

CSS Справочники

CSS Справочник CSS Селекторы CSS Функции CSS Справочник аудио CSS Безопасные веб-шрифты CSS Анимация CSS Единицы CSS PX-EM Конвертер CSS Цвета CSS Значения цвета CSS Значения по умолчанию CSS Поддержка браузерами

CSS. Уроки для для начинающих

CSS Гибкий (flex) контейнер


Родительский элемент (контейнер)

Как мы указали в предыдущей главе, это гибкий контейнер (синяя область) с тремя гибкими элементами:

1

2

3

Гибкий (flex) контейнер становится гибким, если для свойства display установлено значение flex:

Пример

.flex-container {
  display: flex;
}
Попробуйте сами »

Свойства гибкого (flex) контейнера:


Свойство flex-direction

Свойство flex-direction определяет, в каком направлении контейнер хочет складывать гибкие элементы.

1

2

3

Пример

Значение column складывает гибкие элементы по вертикали (сверху вниз):

.flex-container {
  display: flex;
  flex-direction: column;
}

Попробуйте сами »

Пример

Значение column-reverse складывает гибкие элементы по вертикали (но снизу вверх):

.flex-container {
  display: flex;
  flex-direction: column-reverse;
}

Попробуйте сами »

Пример

Значение row складывает гибкие элементы по горизонтали (слева направо):

.flex-container {
  display: flex;
  flex-direction: row;
}

Попробуйте сами »

Пример

Значение row-reverse складывает гибкие элементы по горизонтали (но справа налево):

.flex-container {
  display: flex;
  flex-direction: row-reverse;
}

Попробуйте сами »


Свойство flex-wrap

Свойство flex-wrap определяет, должны ли элементы гибкости оборачиваться или нет.

В приведенных ниже примерах есть 12 гибких элементов, чтобы лучше продемонстрировать свойство flex-wrap.

1

2

3

4

5

6

7

8

9

10

11

12

Пример

Значение wrap указывает, что гибкие элементы будут переноситься при необходимости:

.flex-container {
  display: flex;
  flex-wrap: wrap;
}

Попробуйте сами »

Пример

Значение nowrap указывает, что гибкие элементы не будут переноситься (по умолчанию):

.flex-container {
  display: flex;
  flex-wrap: nowrap;
}

Попробуйте сами »

Пример

Значение wrap-reverse указывает, что гибкие элементы будут упакованы при необходимости в обратном порядке:

.flex-container {
  display: flex;
  flex-wrap: wrap-reverse;
}

Попробуйте сами »


Свойство flex-flow

Свойство flex-flow - это сокращенное свойство для установки свойств flex-direction и flex-wrap.

Пример

.flex-container {
  display: flex;
  flex-flow: row wrap;
}

Попробуйте сами »


Свойство justify-content

Свойство justify-content используется для выравнивания гибких элементов:

1

2

3

Пример

Значение center выравнивает гибкие элементы в центре контейнера:

.flex-container {
  display: flex;
  justify-content: center;
}

Попробуйте сами »

Пример

Значение flex-start выравнивает гибкие элементы в начале контейнера (по умолчанию):

.flex-container {
  display: flex;
  justify-content: flex-start;
}

Попробуйте сами »

Пример

Значение flex-end выравнивает гибкие элементы в конце контейнера:

.flex-container {
  display: flex;
  justify-content: flex-end;
}

Попробуйте сами »

Пример

Значение space-around отображает гибкие элементы с пробелом до, между и после строк:

.flex-container {
  display: flex;
  justify-content: space-around;
}

Попробуйте сами »

Пример

Значение space-between отображает элементы гибкости с пробелом между строками:

.flex-container {
  display: flex;
  justify-content: space-between;
}

Попробуйте сами »


Свойство align-items

Свойство align-items используется для выравнивания гибких элементов.

1

2

3

В этих примерах мы используем контейнер высотой 200 пикселей, чтобы лучше продемонстрировать свойство align-items.

Пример

Значение center выравнивает гибкие элементы в середине контейнера:

.flex-container {
  display: flex;
  height: 200px;
  align-items: center;
}

Попробуйте сами »

Пример

Значение flex-start выравнивает гибкие элементы в верхней части контейнера:

.flex-container {
  display: flex;
  height: 200px;
  align-items: flex-start;
}

Попробуйте сами »

Пример

Значение flex-end выравнивает гибкие элементы в нижней части контейнера:

.flex-container {
  display: flex;
  height: 200px;
  align-items: flex-end;
}

Попробуйте сами »

Пример

Значение stretch растягивает гибкие элементы, чтобы заполнить контейнер (по умолчанию):

.flex-container {
  display: flex;
  height: 200px;
  align-items: stretch;
}

Попробуйте сами »

Пример

Значение baseline выравнивает гибкие элементы, например выравнивает их базовые линии:

.flex-container {
  display: flex;
  height: 200px;
  align-items: baseline;
}

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


1

2

3

4

Попробуйте сами »


Свойство align-content

Свойство align-content используется для выравнивания гибких линий.

1

2

3

4

5

6

7

8

9

10

11

12

В этих примерах мы используем контейнер высотой 600 пикселей со свойством flex-wrap установленным на wrap, чтобы лучше продемонстрировать свойство align-content.

Пример

Значение space-between отображает гибкие линии с равным пространством между ними:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: space-between;
}

Попробуйте сами »

Пример

Значение space-around отображает гибкие линии с пробелом до, между и после них:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: space-around;
}

Попробуйте сами »

Пример

Значение stretch растягивает гибкие линии, чтобы занять оставшееся пространство (по умолчанию):

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: stretch;
}

Попробуйте сами »

Пример

Значение center отображает гибкие линии в середине контейнера:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: center;
}

Попробуйте сами »

Пример

Значение flex-start отображает гибкие линии в начале контейнера:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: flex-start;
}

Попробуйте сами »

Пример

Значение flex-end отображает гибкие линии в конце контейнера:

.flex-container {
  display: flex;
  height: 600px;
  flex-wrap: wrap;
  align-content: flex-end;
}

Попробуйте сами »


Идеальное центрирование

В следующем примере мы решим очень распространенную проблему стиля: идеальное центрирование.

РЕШЕНИЕ: Установите для свойств justify-content и align-items значение center, и гибкий элемент будет идеально центрирован:

Пример

.flex-container {
  display: flex;
  height: 300px;
  justify-content: center;
  align-items: center;
}

Попробуйте сами »


Свойства контейнера CSS Flexbox

В следующей таблице перечислены все свойства контейнера CSS Flexbox:

Свойства Описание
align-content Изменяет поведение свойства flex-wrap. Он похож на align-items, но вместо выравнивания гибких элементов он выравнивает гибкие линии
align-items Вертикальное выравнивание гибких элементов, когда элементы не используют все доступное пространство на поперечной оси
display Определяет тип поля, используемого для элемента HTML
flex-direction Задает направление гибких элементов внутри гибкого контейнера
flex-flow Сокращенное свойство для flex-direction и flex-wrap
flex-wrap Определяет, должны ли гибкие элементы оборачиваться или нет, если для них недостаточно места на одной гибкой линии
justify-content Горизонтально выравнивает гибкие элементы, когда элементы не используют все доступное пространство на главной оси