Абсолютное позиционирование решает проблемы смежных элементов, но создаёт проблемы их связности. Не говоря уже о том что элементы выводятся из потока
Куча лишней разметки при использовании display: table или таблиц
Пробелы при использовании inline-block'ов
flexbox
Flexbox
Flexbox позволяет контролировать размер, порядок и выравнивание элементов по нескольким осям, распределение свободного места между элементами и многое другое.
значение по-умолчанию stretch — блоки растянуты, занимая все доступное место по поперечной оси, при этом все же учитываются
не сдал
3
5
8
10
align-items: flex-start
не сдал
3
5
8
10
align-items: flex-end
не сдал
3
5
8
10
align-items: center
не сдал
3
5
8
10
align-items: baseline
не сдал
3
5
8
10
align-items: baseline
не сдал
3
5
8
10
Многострочность
Многострочность
не сдал
3
5
8
10
Многострочность
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
flex-wrap
задаёт режим форсирования выстраивания блоков в одну линию
значение по-умолчанию nowrap — блоки расположены в одну линию слева направо (в rtl справа налево)
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
flex-wrap: wrap
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
flex-wrap: wrap-reverse
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
flex-flow
комбинация flex-direction + flex-wrap
align-content
определяет то, каким образом образовавшиеся ряды блоков будут выровнены по вертикали и как они поделят между собой все пространство flex-контейнера.
значение по-умолчанию stretch — ряды блоков растянуты, дабы занять все имеющееся пространство
работает только при flex-wrap: wrap; flex-wrap: wrap-reverse
align-content: stretch
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
align-content: flex-start
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
align-content: flex-end
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
align-content: center
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
align-content: space-between
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
align-content: space-around
не сдал
3
5
8
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
Правила для дочерних элементов flex-контейнера
align-self
Делает возможным переопределять свойство flex-контейнера align-items для отдельного flex-блока
не сдал
3
5
8
10
align-self: flex-start
Делает возможным переопределять свойство flex-контейнера align-items для отдельного flex-блока
не сдал
3
5
8
10
align-self: center
Делает возможным переопределять свойство flex-контейнера align-items для отдельного flex-блока
не сдал
3
5
8
10
flex-basis
Задает изначальный размер по главной оси для flex-блока до того, как к нему будут применены преобразования, основанные на других flex-факторах.
не сдал
3
5
8
10
flex-basis: 200px
Задает изначальный размер по главной оси для flex-блока до того, как к нему будут применены преобразования, основанные на других flex-факторах.
не сдал
3
5
8
10
flex-basis: 600px
Задает изначальный размер по главной оси для flex-блока до того, как к нему будут применены преобразования, основанные на других flex-факторах.
не сдал
3
5
8
10
flex-basis: 1000px
Задает изначальный размер по главной оси для flex-блока до того, как к нему будут применены преобразования, основанные на других flex-факторах.
не сдал
3
5
8
10
Жадность и бедность
flex-grow/ flex-shrink
flex-grow
Определяет то на сколько отдельный блок может быть больше соседних
не сдал
3
5
8
10
flex-grow: 2
Определяет то на сколько отдельный блок может быть больше соседних
не сдал
3
5
8
10
flex-grow: 2
Определяет то на сколько отдельный блок может быть больше соседних
не сдал
3
5
8
10
flex-grow: 4
Определяет то на сколько отдельный блок может быть больше соседних
не сдал
3
5
8
10
flex-shrink
Определяет, насколько flex-блок будет уменьшаться относительно соседних элементов внутри flex-контейнера в случае недостатка свободного места. По умолчанию равен 1.
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
flex-shrink: 0
Определяет, насколько flex-блок будет уменьшаться относительно соседних элементов внутри flex-контейнера в случае недостатка свободного места. По умолчанию равен 1.
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
Порядок
order
порядок следования отдельно взятого flex-блока внутри flex-контейнера. По умолчанию равно 0.
1
2
3
4
5
order: 1
порядок следования отдельно взятого flex-блока внутри flex-контейнера. По умолчанию равно 0.
1
2
3
4
5
order: 1, 2, 3.. n
порядок следования отдельно взятого flex-блока внутри flex-контейнера. По умолчанию равно 0.
1
2
3
4
5
Все лгут
Модульная система вёрстки
Модульная система вёрстки
Система вёрстки, при которой основой композиции полос и разворотов становится модульная сетка с определенным шагом (модулем), одинаковым или разным по горизонтали и вертикали.