Пара проблем с вашим кодом:
- Сетка CSS любит контролировать размер своих столбцов, и у вас есть фиксированная высота / ширина на ваших изображениях.Если вы выполните проверку кода DevTools, вы увидите, что ваш 3-й столбец выходит за пределы вашей сетки из-за этого.Я изменил высоту / ширину на 100%/100%
.Если вам нужны квадратные изображения, исправьте эту проблему в Photoshop, а не в CSS.
-Центрировать всю сетку довольно просто, все, что вам нужно сделать, это добавить margin: 0 auto
, потому что это элемент уровня блока.Но элемент уровня блока занимает 100% ширину области просмотра, поэтому центрирование элемента шириной 100% не даст никакого видимого эффекта.Я установил ширину в 80%, чтобы продемонстрировать, как это может выглядеть по центру, но вы можете использовать любое не 100% значение для этого эффекта.
-Я также не уверен, что вы делаете с auto-fit
в вашей сетке.Просто используйте 1fr
, и он действительно хорошо работает, а код чистый.
- Я также сделал всю сетку отзывчивой для вас - не уверен, что вы хотите это сделать, но вполне может продемонстрировать это.
Все исправленные проблемы CSS вместе:
.projects {
margin: 0 25px;
@media (min-width: 450px) {
width: 80%;
margin: 0 auto;
}
&__part {
display: grid;
grid-gap: 25px;
grid-template-columns: 1fr;
@media (min-width: 450px) and (max-width: 768px) {
grid-template-columns: 1fr 1fr;
}
@media (min-width: 768px) {
grid-template-columns: 1fr 1fr 1fr;
}
}
&-item {
&__img {
width: 100%;
height: 100%;
border-radius: 50%;
}
}
h4 {
grid-column: 1 / -1;
}
}
Демонстрация: https://codepen.io/staypuftman/pen/qMMPwp