@Breeze1

Как сделать margin в процентах, чтобы не ломался блок?

Есть вот такой пример кнопок, кнопки должны быть фикс по высоте и ширине, хоть в px хоть в vw.
Codepen
Ширина родительского блока зависит от количества и размера кнопок.
По сути мне нужен responsive отступ между кнопками. Отступ в vw не подходит, потому что размер отступа между кнопками, должен зависеть не только от ширина браузера, но и от размеров самих кнопок ? Есть какие-то идеи как это сделать не меняя html разметку ?

Сейчас кнопки ломают родительский блок, потому что там стоит flex-shrink: 0. Количество кнопок тоже не известно, может быть 5 может быть 8
  • Вопрос задан
  • 170 просмотров
Решения вопроса 2
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
Breeze1,
если вас не затруднит, покажите пожалуйста реализацию с доп оберткой

Кнопку оборачиваете в div. (Лучше бы внутри span, но кнопка интерактивна, так что снаружи).
Задаете диву псевдо
Задаете диву грид типа 98fr 2fr (это не 2% от кнопки, если что) ну или в каких пропорциях хотите.
Этот псевдо будет заменой отступу.
Последнему элементу грид в одну колонку.

p.s. Можно и без псевдо, только гридом.
https://codepen.io/AnnaSummer/pen/gOqPNWz
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега CSS
frontend developer
размер отступа между кнопками, должен зависеть не только от ширина браузера, но и от размеров самих кнопок

ну если кнопки будут зависеть от ширины окна, то и отступы будут так же зависеть от кнопок, как и от ширины окна

.block {
  --btn-width: 10vw;
  --gap: 1.25vw;
  background: red;
  padding: var(--gap);
  display: inline-flex;
  box-sizing: border-box;
  gap: var(--gap);
}


button {
    width: var(--btn-width);
    height: var(--btn-width);
    margin: 0;
    flex-shrink: 0;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы