Core flex фитнес что это?

CSS-Grid VS Flexbox

Статья раскроет, как и где лучше использовать тот или иной инструмент, так как CSS Grid и Flexbox будут сравнены на практике.

Не так давно разметка для всех страниц HTML выполнялась с помощью таблиц, свойства float и других свойств CSS, которые не очень хорошо подходили для моделирования сложных веб-страниц.
Затем появился flexbox – режим разметки, который был специально разработан для создания надежных адаптивных страниц. Flexbox упростил выравнивание элементов и их содержимого, и в настоящее время является предпочтительной системой CSS большинства веб-разработчиков.
Теперь у нас появился новый претендент на трофей с лучшей системой для сборки-html-макетов (название трофея находится в процессе разработки). Это мощная CSS-grid, и к концу этого месяца она будет доступна в браузерах Firefox 52 и Chrome 57, а вскоре в других браузерах (надеюсь).

Базовый тест

Чтобы понять, что это такое — создавать макеты с каждой системой, мы создадим одну и ту же HTML-страницу дважды — один раз с помощью flexbox и еще один раз с CSS grid. Вы можете скачать оба проекта или просмотреть их в этой демонстрационной онлайн-версии:

Дизайн довольно простой — он состоит из центрированного контейнера, внутри которого у нас есть заголовок, главный раздел, боковая панель и футер. Вот основные «проблемы», которые мы должны решить, сохраняя CSS и HTML как можно более чистыми:

  1. Разместить четыре основные секции на макете
  2. Сделать страницу адаптивной (sidebar должен уходить вниз основного контента на меньших экранах)
  3. Выровнять содержимое заголовка — навигация слева, кнопка справа.

Как вы можете видеть, ради сравнения мы сделали все очень просто. Начнем с проблемы номер один.

Задача 1: Позиционирование разделов страницы

Решение Flexbox
Мы начнем с решения flexbox. Добавляем display: flex в контейнер и направляем его дочерние элементы по вертикали. Это позиционирует все разделы друг под другом.

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

Теперь установим элементы wrapper display:flex и flex-direction в противоположном направлении.

Последний шаг — установить размер основного раздела и сайдбара. Мы хотим, чтобы он был в три раза больше сайдбара, что не сложно сделать с помощью flex или процентов.

Как вы можете видеть flexbox справился с этим очень хорошо, но, тем не менее, нам было необходимо применить множество свойств CSS + добавить дополнительный элемент HTML. Давайте теперь посмотрим, как с этим справится CSS Grid.

Решение CSS Grid

Существует пара разных способов использования CSS Grid, но мы будем использовать grid-template-areas синтаксис, так как он выглядит наиболее подходящим для того, что мы планируем сделать.
Для начала определим четыре grid-area , по одному на каждую секцию страницы.

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

И вот свершилось! Наша разметка теперь соответствует структуре, определенной выше и благодаря тому, как мы её настроили нам не придется иметь дело с внешними и внутренними отступами.

Задача 2: Сделать страницу адаптивной

Решение Flexbox

Выполнение этого шага напрямую связано с предыдущим. Для этого решения мы должны будем изменить flex-direction wrapper’а и подогнать некоторые отступы.

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

Решение CSS

С того момента, когда мы определили grid-areas нам остается только изменить их порядок в медиа-запросе. Для этого мы можем использовать ту же настройку столбцов.

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

Задача 3: выровнять элементы заголовка

Решение Flexbox

Наш header содержит некоторые ссылки навигации и кнопку. Мы хотим, чтобы навигация была слева, а кнопка справа. Ссылки внутри nav должны быть точно выровнены по отношению друг к другу.

Мы уже делали подобную разметку с flexbox в одной из предыдущих статей.

Техника очень проста:

Сейчас навигация и кнопка отлично выровнены. Все что осталось сделать — это установить элементы внутри

Генератор flex, flexbox

Вид отображения

Значения для display

flex: Блочный.

inline-flex: Строчный.

Направление главной оси

Группируется в короткую запись и устанавливается первым значением: «flex-flow: row nowrap».

Значения для flex-direction

row: → Слева направо.

row-reverse: ← Справа налево.

column: ↓ Сверху вниз.

column-reverse: ↑ Снизу вверх.

Выравнивание по главной оси

Значения для justify-content

flex-start: ← Прижаты к началу.

flex-end: → Прижаты к концу.

center: → ← Прижаты по центру.

space-between: ← → Равномерно распределяются по всей длине. Первый и последний элемент прижаты к своим краям контейнера.

space-around: ← → Равномерно распределены по всей длине. Пустое пространство перед первым и после последнего элемента равно половине пространства между двумя соседними элементами.

Выравнивание по поперечной оси

Значения для align-items

flex-start: ↑ Блоки выровнены в начале поперечной оси контейнера.

flex-end: ↓ Блоки выровнены в конце поперечной оси контейнера.

center: Блоки выровнены по центру (линии поперечной оси) контейнера.

baseline: Блоки выровнены по базовой линии.

stretch: Блоки растянуты на всё пространство контейнера.

Многострочная организация блоков

Группируется в короткую запись и устанавливается вторым значением: «flex-flow: row nowrap«.

Значения для flex-wrap

nowrap: В одну линию.

wrap: В несколько строк.

wrap-reverse: В несколько строк, в противоположном направлении указанном в flex-direction.

Способ выравнивания по вертикали (только многострочный режим)

Значения для align-content

flex-start: ↑ Строки в начале поперечной оси (прижать блоки к верху).

flex-end: ↓ Расположение строк начиная с конца поперечной оси (прижать блоки к низу).

center: Строки по центру контейнера.

space-between: Равномерное распределение строк по всей высоте.

space-around: Равномерное распределение строк по всей высоте с отступом перед первой строкой и после последней, равными половине рсстояния между соседними строками.

stretch: Строки равномерно растянуты.

Ширина контейнера

Высота контейнера

Общие значения для всех блоков × Очистить

Жадность

Отношение размеров у блоков. Блок со значением 2 будет в два раза больше блока со значением 1.

Группируется в короткую запись и устанавливается первым значением: «flex: 1 auto».

Сжимаемость

Коэффициент сжатия блоков в контейнере. Указывает степень уменьшения по отношению к другим блокам, для размещения блоков в одну строку.

Группируется в короткую запись и устанавливается вторым значением: «flex: 0 1 auto».

Базовый размер

Основа блока. Является начальным (базовым) размером элемента. Возможно указывать размер в следующих единицах измерения: px, em, %, mm, pt и т.д..

Группируется в короткую запись и устанавливается третьим значением: «flex: 0 1 auto«.

Читайте также  Функционал что это такое в фитнесе?

Отступ

Внешний отступ. Значение auto работает как по вертикали так и по горизонтали.

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

Пример: «10px auto«.

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

Пример: «10px auto«.

Порядок (вес)

Порядок следования блока. Блоки с меньшим весом располагаются вначале.

Выравнивание по поперечной оси

Выравнивание блока текущей строки. Переписывает значение контейнера указанного в align-items.

Значения для align-self

auto: Значение родительского контейнера из align-items.

flex-start: ↑ Блоки выровнены в начале поперечной оси контейнера.

flex-end: ↓ Блоки выровнены в конце поперечной оси контейнера.

center: Блоки выровнены по центру (линии поперечной оси) контейнера.

baseline: Блоки выровнены по базовой линии.

stretch: Блоки растянуты на всё пространство контейнера.

CSS ✂ Копировать

HTML ✂ Копировать

Описание flex генератора

Общие сведения

Основная идея flex генератора сделать удобным процесс разработки flex конструкций: обеспечив наглядность и предоставив широкий набор дополнительных настроек. Данный генератор предоставляется бесплатно и без каких-либо ограничений на сайте cssworld.ru.

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

Использование

Каждый параметр имеет возможность выбора предустановленных значений. Значения по умолчанию выделены фоном. Параметры предусматривающие произвольные значения можно изменять самостоятельно.

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

Для удобства, процесс поделен на три последовательные составные части, размещенных в соответствующих вкладках, а также текущий справочный раздел: Контейнер, Блоки, Результат

1. Контейнер

Настройка контейнера flex блоков через установку параметров. Данные настройки имеют отношение исключительно к родительскому элементу flex блоков.

2. Блоки

Настройка flex блоков. Возможно установить количество дочерних блоков, сбросить значения до установленных по умолчанию, установить значения общие для всех блоков или для каждого отдельные значения.

Для установки значений конкретному блоку его необходимо предварительно выделить. Выделение блока возможно по клику на нем. Повторный клик снимает выделение. То же самое делает кнопка «Готово» отображаемая при выделенном элементе, а также переключение на другую вкладку снимает выделение.

У выделенного элемента возможно изменить контент (его текстовое наполнение), а также отдельно для него установить и очистить установленные значения.

3. Результат

Помимо результата, отображающего полный код CSS стилей и HTML, здесь возможно установить ряд настроек совместимости не влияющих на визуализацию.

Поддержка старых браузеров

Поддержка включается во вкладке «Результат» при включенной отметке «Поддержка старых браузеров (префиксы)». Данное действие добавляет предшествующие параметры с префиксами -ms- (только для IE10) и -webkit- (все остальные браузеры).

↑ Выберите блок для задания индивидуальных параметров

Контейнер ✂ Копировать

Блоки ✂ Копировать

Даты и версии начала поддержки Flex в браузерах

Колонки можно сортировать по дате и названию браузера.

Дата ↓ Браузер ↓ Версия Тип поддержки
04.09.2012 IE 10 -ms- Поддерживает только 2012 синтакс
17.10.2013 IE 11 Поддерживает с некоторыми багами, см. ниже
29.07.2015 Edge 12 Полная
24.10.2006 Firefox 2 -moz- Поддерживает только старую спецификацию и не поддерживает wrapping
14.05.2013 Firefox 22 -webkit- Не поддерживает: flex-wrap, flex-flow, align-content
18.03.2014 Firefox 28 Полная
25.01.2010 Chrome 4 -webkit- Поддерживает только старую спецификацию и не поддерживает wrapping
26.06.2012 Chrome 21 -webkit-
18.07.2013 Chrome 29 Полная
18.03.2008 Safari 3.1 -webkit- Поддерживает только старую спецификацию и не поддерживает wrapping
22.10.2013 Safari 7 -webkit-
01.10.2015 Safari 9 Полная
05.11.2012 Opera 12.1 Полная
02.07.2013 Opera 15 -webkit- (Поскольку Opera перешла на движок Blink как у Chrome)
08.08.2013 Opera 17 Полная
03.04.2010 iOS Safari 3.2 -webkit- Поддерживает только старую спецификацию и не поддерживает wrapping
10.03.2014 iOS Safari 7 -webkit-
16.09.2015 iOS Safari 9 Полная
16.03.2015 Opera Mini 1 Полная (С версии 8 на iOS использует iOS Safari движок)
26.10.2009 Android Browser 2.1 -webkit- Поддерживает только старую спецификацию и не поддерживает wrapping
09.12.2013 Android Browser 4.4 Полная

Особенности старых браузеров IE

По умолчанию в IE10 параметр flex имеет значение «-ms-flex: 0 auto» вместо «flex: 0 1 auto«. Третье значение, flex-basis, в параметре «flex: 0 1 auto» для IE11 обязательно. Некорректно рассчитывается высота при установленных у блоков значений min-height и вертикальное выравнивание для IE10 и IE11.

Новейший тренд — реабилитационный фитнес в групповом формате!

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

Программа Rehab Fitness — это комплексная система трех групповых занятий, объединенных единой целью – убрать дисфункцию. Вместе с этим, каждый специализированный урок, входящий в программу Rehab Fitness — это отдельная программа с акцентом на достижение узкого спектра целей:

  • снять напряжение и активировать ослабленные мышцы
  • восстановить подвижность в зонах ограничений
  • научить тело контролируемой мобильности=стабильности
  • обучить тело простейшим функциональным движениям.
  • научить тело эффективно при любом движении пользоваться мышцами центра

Положительный результат достигается последовательным продвижением от простого к сложному. От непонимания – к осознанности. От мобильности — к стабильности. От перенапряжения — к расслаблению. От мышечного дисбаланса — к нормальной длине мышц. От ограниченности — к простоте и естественности движения. Через несколько месяцев ваши клиенты успешно и безопасно занимаются любыми видами физической активности самостоятельно и точно знают, что нужно их телу в данный момент. Программы Rehab Fitness отличаются уникальным форматом: все элементы урока (интенсивность, работа с разными мышечными группами, режим работы, паузы для отдыха) объединены в определённую последовательность, которая разработана нашими специалистами для максимально быстрой оптимизации работы всех структур тела, участвующих в движении.

В основу всех программ Rehab Fitness положен принцип «Безопасность и эффективность в каждом занятии». Заданная хореография и формат уроков позволяют занимающимся постепенно осваивать технику упражнений, выстраивать новый стереотип движения, добиваться поставленной цели, не навредив своему организму, ставить новые цели и добиваться лучших результатов. Программы Rehab Fitness подходят для любого уровня подготовленности клиентов и разработаны таким образом, что на одном уроке могут заниматься клиенты с различными проблемами ОДА. Разработанные технологии являются авторскими программами, обладают чрезвычайной эффективностью и не входят в базовую систему подготовки фитнес-инструкторов. Тренировки проводят только инструкторы, прошедшие специальное обучение и сертификацию Веллнес компании Велком.

Описание уроков Rehab Fitness ГП

RFM Posture — 55 мин. Функциональность позвоночника – основа здоровья всего тела. Групповая программа RFM Posture направлена на снятие напряжения и восстановление кровоснабжения паравертебральных мышц, нормализацию их тонуса, профилактику болей в спине и в суставах, коррекцию осанки. Это силовой урок средней интенсивности под энергичную музыку с использованием фитбола, роллов, гантелей, мячей различного диаметра. RFM Posture — короткий путь укрепления мышечного корсета и безопасной подготовки своего тела к интенсивным тренировкам и активным видам спорта.

RFM Core — 55 мин Сильные мышцы кора делают любое движение более эффективным и предотвращают травмы, улучшают осанку и укрепляют позвоночник, улучшают состояние внутренних органов. Групповая программа RFM Core направлена на создание прочного мышечного корсета для поддержания внутрибрюшного давления, раскрытие грудной клетки, фиксации позвоночного столба, оттока венозной крови от таза и нижних конечностей, улучшение состояния передней брюшной стенки. Это силовой урок средней интенсивности под энергичную музыку с использованием медбола, мячей различного диаметра на основе самых эффективных техник для тренировки мышц кора и повышения выносливости. RFM Core — лучший способ за счет упражнений уменьшить объём талии, скорректировать осанку, улучшить двигательный стереотип, подготовиться к активным видам спорта и избежать серьезных травм.

RFM Flex — 55 мин. Нормальная амплитуда движения в суставах – залог долгой активности и жизни без мышечной и суставной боли. Групповая программа RFM Flex позволяет увеличить амплитуду движений в суставах во всех плоскостях, повысить выносливость околосуставных мышц, улучшить лимфодренаж нижних конечностей и малого таза, восстановить кровоснабжение в застойных зонах. Это урок средней интенсивности под спокойную музыку с использованием роллов разной плотности и мячей различного диаметра на основе миофасциального расслабления. RFM Flex – эффективное решение в борьбе с возрастными изменениями, варикозом нижних конечностей и малого таза, болями в ногах и стопах, с лишним весом, отеками и чувством одеревенения.

Каждый следующий сезон – новый дизайн уроков программы, освоение дополнительных навыков, увеличение контроля над телом, повышение уровня оптимизации энергетических затрат на движение. Чем больше вы занимаетесь, тем более правильными и экономичными становятся движения, в них все больше задействуются ослабленные и выключенные из биомеханической цепочки мышцы. Результат — уходят боли, связанные с ослабленным оттоком крови и давлением, исчезают онемения конечностей, уходит хроническая усталость, связанная с перенапряжением мышц, меняется стереотип движений. Тело постепенно учиться оптимально двигаться во всех плоскостях. Свободно и естественно, как это было в детстве…

После каждого блока (сезона) программы клиенты проходят фитнес-тестирование (антропометрия и осанка) с использованием специального программного обеспечения «RFM Фитнес-Тест Осанка» и диагностической сетки «Постуральный баланс». Это дает возможность нам и нашим клиентам отчетливо и наглядно фиксировать результат своих занятий. Приглашаем фитнес-клубы и студии, заинтересованные в приобретении групповых программ Rehab Fitness Matrix к сотрудничеству. Оставляйте свои заявки . Подробнее о стоимости и условиях приобретения лицензионных групповых программ Rehab Fitness Matrix — в нашем магазине.

Разбираемся с флексбоксами CSS

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

Не помню точно в каком году появилась блочная верстка. Я перешел на нее с табличной примерно в 2006. Не смотря на кучу новых семантических тегов HTML5 и новых свойств CSS3, подход к верстке в целом особо не менялся с годами — в основе всегда были позиционированные блоки. Сегодня блочная верстка практически умерла , как и когда-то табличная. На смену ей пришли и плотно заняли свое место флексбоксы и гриды (про гриды я расскажу отдельно). И это не просто очередные новомодные свойства CSS. Флексбоксы — это требование времени, вызванное необходимостью упрощения адаптивной верстки.

Я не ставлю целью сделать очередной справочник по флексам. Разберу несколько рабочих примеров, расскажу про основные свойства для тех, кто еще не знаком с флексами. А дальше каждый решит сам, нужно ему это или нет. Под каждым примером есть прямая ссылка на описание свойства в официальном источнике — сайте консорциума всемирной паутины.

Что такое флексбокс

Flexbox (CSS3 Flexible Box) — режим разметки, созданный для более предсказуемого упорядочения элементов на страницах, адаптированных под различные размеры экранов и устройств. В большинстве случаях флексбоксы лучше блочной модели разметки, поскольку не использует обтекания (floats), не схлопывают отступления flex-контейнера и его содержимого (margin collapse).

Однозначно, флексбоксы проще блоков — дочерние элементы внутри флексбокса могут размещаться в любом направлении, могут менять размер, чтобы адаптироваться к различным размерам дисплея. Более простое позиционирование элементов, независимость порядка отображения элементов от его положения в коде делает код более чистым.

Концепция флексбокса заключается в возможности изменения высоты и/или ширины его элементов, чтобы лучше заполнять пространство любого дисплея. Флекс-контейнер увеличивает элементы, чтобы заполнить доступное пространство или уменьшает чтобы предотвратить перекрытие.

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

Основные свойства флексбоксов

1. Порядок и ориентация

2. Позиционирование

3. Гибкость

Display

Флексбокс может быть блочным (flex) или строковым (inline-flex). Работает это в привычном для CSS виде.

Flex-direction

Направление оси контейнера может быть четырех видов:

  1. row — строка (по умолчанию);
  2. row-reverse — строка в обратном порядке;
  3. column — колонка;
  4. column-reverse — колонка в обратном порядке.

Flex-wrap

Управление переносом элементов.

  1. nowrap (по умолчанию) — элементы располагаются в один ряд или в одну колонку в зависимости от заданного flex-direction;
  2. wrap — элементы переносятся на следующий ряд;
  3. wrap-reverse — элементы переносятся на следующий ряд в обратном направлении.

Flex-flow

Сокращение свойств flex-direction и flex-wrap, которые определяют основную и поперечные оси контейнера. По-умолчанию row nowrap.

Order

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

Например, чтобы выдвинуть вперед всех четвертый элемент, зададим ему order=-1.

Justify-content

Управление выравниванием по главной оси.

  1. flex-start — выравнивание от начала главной оси (по умолчанию);
  2. flex-end — выравнивание от конца главной оси;
  3. center — выравнивание по центру главной оси;
  4. space-between — выравнивание по главной оси, распределяя свободное пространство между собой;
  5. space-around — выравнивание по главной оси, распределяя свободное пространство вокруг себя.
  6. space-evenly — как space-around, только расстояние у крайних элементов до краев контейнера будет равным расстоянию между элементами.

Align-items

Выравнивание элементов по поперечной оси внутри ряда.

  1. flex-start — от начала поперечной оси;
  2. flex-end — от конца поперечной оси;
  3. center — по центру;
  4. baseline — по базовой линии;
  5. stretch — по всему пространству поперечной оси (по умолчанию).

Align-self

Выравнивание по поперечной оси отдельных элементов.

  1. auto — используется align-items родительского элемента (по умолчанию);
  2. flex-start — от начала поперечной оси;
  3. flex-end — от конца поперечной оси;
  4. center — по центру;
  5. baseline — по базовой линии;
  6. stretch — растягивается, занимая все пространство по высоте.

Align-content

Выравнивание внутри многострочного контейнера.

  1. flex-start — от начала главной оси;
  2. flex-end — от конца главной оси;
  3. center — по центру главной оси;
  4. space-between — по главной оси, распределяя свободное место между собой;
  5. space-around — по главной оси, распределяя свободное место вокруг себя;
  6. stretch — растягиваются, заполняя всю высоту (по умолчанию).

Flex-grow

Коэффициент увеличения элемента при наличии свободного пространства в контейнере.

По-умолчанию flex-grow: 0.

Flex-shrink

Коэффициент уменьшения элемента при отсутствии свободного пространства в контейнере.

Flex-basis

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

В примере ширина четвертого элемента равна 50%, пятого — в зависимости от ширины контента.

В заключение

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

Поддержка флексбоксов браузерами на 2019 год

Проблемы по старой традиции наблюдаются только у IE. Но и там при сильной необходимости можно найти решения.

Делаю сайты на Вордпресс с 2008 года, занимаюсь их оптимизацией, беру на поддержку, делюсь опытом в блоге.

Flexbox

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

UPD от 02.02.2017: сделала удобную шпаргалку по флексбоксам, с живыми демками и описаниями из спеки: Flexbox cheatsheet.

В примерах используется только новый синтаксис. На момент написания статьи правильней всего они отображаются в Chrome. В Firefox работают частично, в Safari — вообще не работают.

Спецификация на английском есть тут: w3.org/TR/css3-flexbox.

Согласно сайту caniuse.com, Flexbox не поддерживается 8 и 9-м IE и Opera Mini, а в других браузерах поддерживаются не все свойства и/или требуются префиксы.

Это означает, что технологию нельзя широко использовать прямо сейчас, но уже самое время познакомиться с ней поближе.

Для начала надо знать, что flex-элементы располагаются по осям. По умолчанию элементы располагаются по горизонтали — вдоль main axis — главной оси.

Так же следует иметь в виду, что при использовании Flexbox для внутренних блоков не работают float , clear и vertical-align , а так же свойства, задающие колонки в тексте.

Приготовим полигон для экспериментов:

Один родительский блок (желтый) и 5 дочерних.

Display: flex

И теперь родительскому элементу добавляем display: flex; . Внутренние div-ы выстраиваются в ряд (вдоль главной оси) колонками одинаковой высоты, независимо от содержимого.

display: flex; делает все дочерние элементы резиновыми — flex , а не инлайновыми или блочными, как было изначально.

Если родительский блок содержит картинки или текст без оберток, они становятся анонимными flex-элементами.

Свойство display для Flexbox может принимать два значения:

flex — ведёт себя как блочный элемент. При рассчете ширины блоков приоритет у раскладки (при недостаточной ширине блоков контент может вылезать за границы).

inline-flex — ведёт себя как инлайн-блочный. Приоритет у содержимого (контент растопыривает блоки до необходимой ширины, чтобы строчки, по возможности, поместились).

Flex-direction

Направление раскладки блоков управляется свойством flex-direction .

row — строка (значение по умолчанию);

row-reverse — строка с элементами в обратном порядке;

column-reverse — колонка с элементами в обратном порядке.

row и row-reverse :

column и column-reverse :

Flex-wrap

nowrap — блоки не переносятся (значение по умолчанию);

wrap — блоки переносятся;

wrap-reverse — блоки переносятся и располагаются в обратном порядке.

Для короткой записи свойств flex-direction и flex-wrap существует свойство: flex-flow .

Возможные значения: можно задавать оба свойства или только какое-то одно. Например:

flex-flow: column-reverse wrap;

Демо для row-reverse wrap-reverse :

Order

Возможные значения: числа. Чтобы поставить блок самым первым, задайте ему order: -1 :

Justify-content

justify-content и align-items применяются к родительскому контейнеру, align-self — к дочерним.

justify-content отвечает за выравнивание по главной оси.

Возможные значения justify-content :

flex-start — элементы выравниваются от начала главной оси (значение по умолчанию);

flex-end — элементы выравниваются от конца главной оси;

center — элементы выравниваются по центру главной оси;

space-between — элементы выравниваются по главной оси, распределяя свободное место между собой;

space-around — элементы выравниваются по главной оси, распределяя свободное место вокруг себя.

flex-start и flex-end :

Align-items

Возможные значения align-items :

flex-start — элементы выравниваются от начала перпендикулярной оси;

flex-end — элементы выравниваются от конца перпендикулярной оси;

center — элементы выравниваются по центру;

baseline — элементы выравниваются по базовой линии;

stretch — элементы растягиваются, занимая все пространство по перпендикулярной оси (значение по умолчанию).

Align-self

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

Возможные значения align-self :

auto — значение по умолчанию. Означает, что элемент использует align-items родительского элемента;

flex-start — элемент выравнивается от начала перпендикулярной оси;

flex-end — элемент выравнивается от конца перпендикулярной оси;

center — элемент выравнивается по центру;

baseline — элемент выравнивается по базовой линии;

stretch — элемент растягивается, занимая все пространство по высоте.

Align-content

flex-start — элементы выравниваются от начала главной оси;

flex-end — элементы выравниваются от конца главной оси;

center — элементы выравниваются по центру главной оси;

space-between — элементы выравниваются по главной оси, распределяя свободное место между собой;

space-around — элементы выравниваются по главной оси, распределяя свободное место вокруг себя;

stretch — элементы растягиваются, заполняя всю высоту (значение по умолчанию).

Ps: Некоторые штуки мне так и не удалось увидеть в действии, например, строчку flex-flow: column wrap или полную запись того же flex-direction: column; flex-wrap: wrap; .

Элементы стоят столбиком, но не переносятся:

Не срабатывает wrap при flex-direction: column; , хотя в спеке это выглядит вот так:

Думаю, со временем заработает.

UPD от 21.06.2014: всё работает, если задать блоку высоту. За подсказку спасибо SelenIT2.