Последние учебники веб-разработки
×

CSS Руководство

CSS ГЛАВНАЯ CSS Введение CSS Синтаксис CSS Как CSS Цвета CSS Фон CSS Границы CSS Маржа CSS набивка CSS Высота ширина CSS Текст CSS шрифты CSS связи CSS Списки CSS таблицы CSS Модель Бокса CSS Outline CSS Дисплей CSS Максимальная ширина CSS Позиция CSS терка CSS Inline-block CSS выравнивать CSS Комбинаторы CSS Псевдо-класс CSS Псевдо-элемент CSS Панель навигации CSS Dropdowns CSS Всплывающие CSS Галерея CSS изображение Непрозрачность CSS спрайтов CSS Attr селекторы CSS Формы CSS Счетчики

CSS3

CSS3 Введение CSS3 Закругленные углы CSS3 Пограничные изображения CSS3 Фон CSS3 Цвета CSS3 Градиенты CSS3 Тени CSS3 Текст CSS3 шрифты CSS3 2D Трансформации CSS3 3D Трансформации CSS3 Переходы CSS3 Анимации CSS3 Изображений CSS3 Кнопки CSS3 пагинация CSS3 Несколько столбцов CSS3 Пользовательский интерфейс CSS3 Box Определение размеров CSS3 Flexbox CSS3 Медиа-запросы CSS3 Примеры MQ

CSS Адаптивный веб-дизайн

Адаптивный веб-дизайн вступление Адаптивный веб-дизайн Viewport Адаптивный веб-дизайн Вид сетки Адаптивный веб-дизайн Медиа-запросы Адаптивный веб-дизайн Изображений Адаптивный веб-дизайн Видео Адаптивный веб-дизайн Каркасы

CSS Examples

CSS Примеры CSS викторина CSS сертификат

CSS References

CSS Справка CSS Селекторы CSS функции CSS Ссылка Aural CSS Web Safe шрифты CSS Animatable CSS Единицы CSS PX-EM конвертер CSS Цвета CSS Значения цвета CSS Цвет Названия CSS3 Поддержка браузеров

 

CSS3 Flexible Box


CSS3 Flexbox

Гибкие коробки, или flexbox , это новый режим макета в CSS3.

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

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


Поддержка браузеров

Числа в таблице указать первую версию браузера, который полностью поддерживает эту функцию.

Числа следуют -webkit- или -moz- указать первую версию , которая работала с приставкой.

Имущество
Basic support
(single-line flexbox)
29.0
21.0 -webkit-
11.0 22.0
18.0 -moz-
6.1 -webkit- 12.1 -webkit-
Multi-line flexbox 29.0
21.0 -webkit-
11.0 28.0 6.1 -webkit- 17.0
15.0 -webkit-
12.1

CSS3 Flexbox Концепции

Flexbox состоит из гибких контейнеров и гибких элементов.

Гибком контейнер объявляется путем установки display свойства элемента либо flex (оказанной в виде блока) или inline-flex (оказанной в инлайн).

Внутри гибкого контейнера имеется один или более гибких элементов.

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

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

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

пример

<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
    display: -webkit-flex;
    display: flex;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

.flex-item {
    background-color: cornflowerblue;
    width: 100px;
    height: 100px;
    margin: 10px;
}
</style>
</head>
<body>

<div class="flex-container">
  <div class="flex-item">flex item 1</div>
  <div class="flex-item">flex item 2</div>
  <div class="flex-item">flex item 3</div>
</div>

</body>
</html>

Попробуй сам "

Кроме того, можно изменить направление гибкой линии.

Если мы устанавливаем direction свойство rtl (справа налево), текст рисуется справа налево, а также гибкий линия меняет направление, которое изменит макет страницы:

пример

body {
    direction: rtl;
}

.flex-container {
    display: -webkit-flex;
    display: flex;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

.flex-item {
    background-color: cornflowerblue;
    width: 100px;
    height: 100px;
    margin: 10px;
}

Попробуй сам "


Flex Направление

flex-direction свойство задает направление гибких элементов внутри гибкого контейнера. Значение по умолчанию flex-direction является row (слева-направо, сверху-вниз).

Остальные значения следующие:

  • row-reverse - Если режим письма (направление) является слева направо, гибкого трубопровода детали будут изложены справа налево
  • column - Если система письма горизонтально, гибкого трубопровода элементы будут размещены вертикально
  • column-reverse - То же колонке, но обратное

Следующий пример показывает результат использования row-reverse значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования column значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования column-reverse значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "


Свойство оправдает-контент

justify-content имущества по горизонтали выравнивает элементы гибкого контейнера, когда элементы не использовать все доступное пространство на главной оси.

Возможные значения заключаются в следующем:

  • flex-start - Значение по умолчанию. Элементы расположены в начале контейнера
  • flex-end - Элементы расположены в конце контейнера
  • center - Элементы расположены в центре контейнера
  • space-between - Элементы расположены с пространством между линиями
  • space-around - Элементы расположены с пространством до, между и после линий

Следующий пример показывает результат использования flex-end значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования center значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования space-between значения:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования space-around значения:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "


Выравнивать-элементы недвижимости

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

Возможные значения заключаются в следующем:

  • stretch - значение по умолчанию. Элементы растягиваются в соответствии с контейнера
  • flex-start - элементы расположены в верхней части контейнера
  • flex-end - Элементы расположены в нижней части контейнера
  • center - Элементы расположены в центре контейнера ( по вертикали)
  • baseline - Предметы расположены на базовой линии контейнера

Следующий пример показывает результат использования stretch значение (это значение по умолчанию):

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования flex-start значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования flex-end значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования center значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования baseline значения:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: baseline;
    align-items: baseline;
    width: 400px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "


Flex-обертка недвижимости

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

Возможные значения заключаются в следующем:

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

Следующий пример показывает результат использования nowrap значение (это значение по умолчанию):

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 300px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования wrap значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 300px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "

Следующий пример показывает результат использования wrap-reverse значения:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
    width: 300px;
    height: 250px;
    background-color: lightgrey;
}

Попробуй сам "


ALIGN-содержание недвижимости

align-content свойство изменяет поведение flex-wrap свойства. Он похож на align-items , но вместо выравнивания гибких элементов, он выравнивает гибкие линии.

Возможные значения заключаются в следующем:

  • stretch - значение по умолчанию. Линии растягиваться, чтобы занять оставшееся место
  • flex-start - Линии упаковываются к началу гибкого контейнера
  • flex-end - Линии упаковываются к концу гибкого контейнера
  • center - Линии упаковываются по направлению к центру гибкого контейнера
  • space-between - линиями равномерно распределены в контейнере гибкого
  • space-around - Линии равномерно распределены в гибком контейнере, с половинного размера пространства на обоих концах

Следующий пример показывает результат использования center значение:

пример

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: center;
    align-content: center;
    width: 300px;
    height: 300px;
    background-color: lightgrey;
}

Попробуй сам "


Flex Свойства элемента

заказ

order свойство определяет порядок гибкого элемента относительно остальных гибких элементов внутри того же контейнера:

пример

.flex-item {
    background-color: cornflowerblue;
    width: 100px;
    height: 100px;
    margin: 10px;
}

.first {
    -webkit-order: -1;
    order: -1;
}

Попробуй сам "

Поле

Установка margin: auto; будет поглощать дополнительное пространство. Он может быть использован, чтобы толкать сгибать элементы в различных положениях.

В следующем примере мы устанавливаем margin-right: auto; на первый гибкий элемент. Это заставит все дополнительное пространство, чтобы быть поглощенными справа от этого элемента:

пример

.flex-item {
    background-color: cornflowerblue;
    width: 75px;
    height: 75px;
    margin: 10px;
}

.flex-item:first-child {
    margin-right: auto;
}

Попробуй сам "

Идеальный Центрирование

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

Это очень легко с flexbox. Установка margin: auto; сделает деталь идеально центрирован в обеих оси:

пример

.flex-item {
    background-color: cornflowerblue;
    width: 75px;
    height: 75px;
    margin: auto;
}

Попробуй сам "

выравнивать-я

align-self свойство многоролевых элементов отменяет ALIGN-элементы Свойство флекс контейнера для этого элемента. Он имеет те же возможные значения, что и align-items имущества.

Следующий пример устанавливает различные значения Align автопортрета для каждого гибкого элемента:

пример

.flex-item {
    background-color: cornflowerblue;
    width: 60px;
    min-height: 100px;
    margin: 10px;
}

.item1 {
    -webkit-align-self: flex-start;
    align-self: flex-start;
}
.item2 {
    -webkit-align-self: flex-end;
    align-self: flex-end;
}

.item3 {
    -webkit-align-self: center;
    align-self: center;
}

.item4 {
    -webkit-align-self: baseline;
    align-self: baseline;
}

.item5 {
    -webkit-align-self: stretch;
    align-self: stretch;
}

Попробуй сам "

сгибать

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

В следующем примере, первый гибкий элемент будет потреблять 2/4 свободного пространства, а два других гибких элементов будет потреблять 1/4 свободного пространства каждого:

пример

.flex-item {
    background-color: cornflowerblue;
    margin: 10px;
}

.item1 {
    -webkit-flex: 2;
    flex: 2;
}

.item2 {
    -webkit-flex: 1;
    flex: 1;
}

.item3 {
    -webkit-flex: 1;
    flex: 1;
}

Попробуй сам "


Примеры

Еще примеры

Как создать адаптивный сайт с flexbox
Этот пример демонстрирует, как создать адаптивный макет веб-сайта с flexbox.


CSS3 Flexbox Свойства

В следующей таблице перечислены свойства CSS, используемые с flexbox:

Property Description
display Specifies the type of box used for an HTML element
flex-direction Specifies the direction of the flexible items inside a flex container
justify-content Horizontally aligns the flex items when the items do not use all available space on the main-axis
align-items Vertically aligns the flex items when the items do not use all available space on the cross-axis
flex-wrap Specifies whether the flex items should wrap or not, if there is not enough room for them on one flex line
align-content Modifies the behavior of the flex-wrap property. It is similar to align-items, but instead of aligning flex items, it aligns flex lines
flex-flow A shorthand propert for flex-direction and flex-wrap
order Specifies the order of a flexible item relative to the rest of the flex items inside the same container
align-self Used on flex items. Overrides the container's align-items property
flex Specifies the length of a flex item, relative to the rest of the flex items inside the same container