Убедитесь, что элемент галереи расположен относительно, фиксированный, абсолютный или липкий. И отрегулируйте поля с помощью «left and transform».
CSS:
.tile{
background-color: red;
width: 100px;
height: 100px;
margin: 10px;
border: 1px solid black;
}
.gallery {
position: absolute;
left: 50%;
transform:translateX(-50%);
}
<div class="gallery" fxLayout="row wrap">
<div class="tile" fxLayoutAlign="start center" *ngFor="let number of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]"></div>
</div>
См. Пример, работающий здесь: stackblitz
[Отредактировано]
Я отредактировал свой ответ, чтобы показать, какой вариант будет наилучшим, как хорошо обсуждалось в комментариях к этому ответу, гибкий Формат, вероятно, не самый простой для достижения того, о чем идет речь, я предлагаю сделать квадраты саморегулирующимися, и это будет более визуально приятным для пользователя.
Я надеюсь, что один из моих двух вариантов поможет вам.
CSS:
.galery{
margin-left: 50%;
transform:translateX(-50%);
display:grid;
grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));
grid-gap: 1em;
}
.title{
background-color: red;
width: 100%;
height: 100px;
border: 1px solid black;
}
<div class="galery">
<div class="title" *ngFor="let number of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]"></div>
</div>
См. Пример, работающий здесь: stackblitz