Задать вопрос
@bldeser

Как можно во flex сетке закрасить отступы gap?

Всем привет, помогите решить задачку.
Есть первый блок, сетка на флексах. Флекс элементы между собой имеют отступ gap
Есть второй блок, сзади сетки, с черным фоном.
Елементы сетки прозрачные, через них видно черный фон второго блока.
Не могу придумать как закрасить белым цветом промежутки между элементами сетки, чтобы не было видно черного фона?

Пример здесь

680e702bc8873861261440.jpeg

Так должно получиться:

680e87dc22d7c695754320.jpeg

Дополнение: Черный фон это просто пример, фоном может быть изображение. Поэтому вариант флекс-белый фон, элементы- черный фон, не подходит.

Вариант решения: Скорей всего можно проще сделать, но я пришел к такому варианту.
У каждого элемента сетки убрать скругление, сделать контейнером с position: relative и overflow: hidden, и в каждый элемент вложить блок с position: absolute, который бедет скругляться и через который будет видно задний фон, а все просветы закрашиваются с помощью box-shadow.

Что получилось можно посмотреть ЗДЕСЬ
  • Вопрос задан
  • 1566 просмотров
Подписаться 2 Простой 25 комментариев
Решения вопроса 1
@AnKu_11
grid на flex поменяй, но суть та же

Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Wispik
@Wispik
фон делаешь белым цветом, а у .grid-item фон черным
Ответ написан
EdisonBig
@EdisonBig
code free
.grid-field {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    gap: 4px;
    padding-right: 4px;
    box-sizing: border-box;
    left: 0;
    width: 100%;
    pointer-events: none;
    z-index: -1;
    background-color: #fff;
}

.grid-item {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    color: #e5e5e5;
    font-size: 24px;
    border-radius: 5px;
    flex: 1 0 calc(25% - 10px);
    aspect-ratio: 1;
    pointer-events: auto;
    border: 1px solid #bdbdbd;
    
}


Как вариант
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы