Перейти к содержанию

Выравнивание строк и столбцов. align-content

Свойство align-content управляет выравниванием рядов (строк и столбцов) во flex-контейнере и поэтому применяется, если свойство flex-wrap имеет значение wrap или wrap-reverse. Свойство align-content может иметь следующие значения:

  • stretch: значение по умолчанию, при котором строки (столбцы) растягиваются, занимая все свободное место
  • flex-start: строки (столбцы) выравниваются по началу контейнера (для строк - это верхний край, для столбцов - это левый край контейнера)
  • flex-end: строки (столбцы) выравниваются по концу контейнера (строки - по нижнему краю, столбцы - по правому краю)
  • center: строки (столбцы) позиционируются по центру контейнера
  • space-between: строки (столбцы) равномерно распределяются по контейнеру, а между ними образуются одинаковые отступы. Если же имеющегося в контейнере места недостаточно, то действует аналогично значению flex-start
  • space-around: строки (столбцы) равным образом распределяют пространство контейнера, а растояние между первой и последней строкой (столбцом) и границами контейнера составляет половину расстояния между соседними строками (столбцами).

Стоит учитывать, что это свойство имеет смысл, если в контейнере две и больше строки (столбца).

Например, расположение строк в начале контейнера:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Flexbox в CSS3</title>
        <style>
            .flex-container {
                display: flex;
                border: 1px #ccc solid;
                flex-wrap: wrap;
                height: 200px;
                align-content: flex-start;
            }
            .flex-item {
                text-align: center;
                font-size: 16px;
                padding: 10px;
                color: white;
            }
            .item1 {
                background-color: #675ba7;
            }
            .item2 {
                background-color: #9bc850;
            }
            .item3 {
                background-color: #a62e5c;
            }
            .item4 {
                background-color: #2a9fbc;
            }
            .item5 {
                background-color: #f15b2a;
            }
        </style>
    </head>
    <body>
        <div class="flex-container">
            <div class="flex-item item1">Flex Item 1</div>
            <div class="flex-item item2">Flex Item 2</div>
            <div class="flex-item item3">Flex Item 3</div>
            <div class="flex-item item4">Flex Item 4</div>
            <div class="flex-item item5">Flex Item 5</div>
            <div class="flex-item item1">Flex Item 6</div>
            <div class="flex-item item2">Flex Item 7</div>
            <div class="flex-item item3">Flex Item 8</div>
        </div>
    </body>
</html>

Выравнивание строк и столбцов. align-content

Изменим стиль контейнера:

1
2
3
4
5
6
7
8
.flex-container {
    display: flex;
    border: 1px #ccc solid;
    flex-wrap: wrap;
    height: 200px;
    align-content: space-between;
    flex-direction: column;
}

И в этом случае мы получим ряд столбцов, разделенных отступами:

Выравнивание строк и столбцов. align-content

См. также

Комментарии