#html #css #вёрстка #адаптивная_верстка #flexbox
Допустим есть блоки .main { display: flex; flex-wrap: wrap; justify-content: flex-start; background: #fff; } .box { width: 170px; height: 130px; border-radius: 3px; border: dashed 2px rgba(0, 0, 0, 0.1); margin: 10px; }Мне нужно чтобы последние блоки прижимались к левому краю, но при этом чтобы вся конструкция блоков была по центру, т.е. будто там указан justify-content: center. Можно задать фиксированную ширину, но проблема в том что .main резиновый. На jsfiddle это хорошо видно. Если уменьшать или увеличивать область отображения то будет работать warp, но при этом справа будет много свободного пространства
Ответы
Ответ 1
.main { display: grid; grid-gap: 10px; grid-template-columns: repeat(auto-fill, 170px); max-width: 890px; margin: auto; justify-content: center; } .box { height: 130px; border-radius: 3px; border: dashed 2px rgba(0, 0, 0, 0.1); }Ответ 2
Как вариант *, :before, :after { box-sizing: border-box; } * { padding: 0; margin: 0; } .main { display: flex; justify-content: center; flex-wrap: wrap; background: #fff; } .box { width: 170px; height: 130px; border-radius: 3px; border: dashed 2px rgba(0, 0, 0, 0.1); margin: 10px; } .box:empty { height: 0; border: none; margin-top: 0; margin-bottom: 0; }1234567Ответ 3
Можно обернуть блоки в еще один блок которому задаешь justify-content: flex-start; и изменять его ширину через @media, а блоку .main задать justify-content: center;
Комментариев нет:
Отправить комментарий