Подтвердить что ты не робот

CSS3 Flexbox расстояние между элементами

Будучи несколько новым для Flexbox (хотя и опытным в CSS), мне кажется, что в большинстве учебных пособий, которые я прочитал, просто "затушевывается", это расстояние между элементами flex.

Например, одним из наиболее цитируемых руководств является этот в CSS-трюках.

Это очень хорошо и было полезно, такие диаграммы меня отбросили:

enter image description here

Обратите внимание на пробелы между элементами flex. Хотя он не упоминается нигде, ни в примере кода, казалось бы, единственный способ получить пробелы с полями css.

Правильно, или я пропустил что-то важное здесь?

Потому что то, что мне нужно создать, очень похоже на демонстрацию "center" выше: enter image description here

Однако, когда я сам это пробовал, я, конечно, понимаю: enter image description here

Если я использую space-around, я получаю это вместо этого. Огромное пространство. enter image description here

Поэтому кажется, что мне нужно добавить margin-right в первые 2 поля, чтобы получить 3 центрированных прямоугольника с небольшим промежутком между ними.

Это просто плохой вариант использования для Flexbox? Потому что я вижу небольшое преимущество, создавая свои 3 коробки с помощью Flexbox, используя простые поля и центрирование.

Я пропустил что-то очевидное здесь?

4b9b3361

Ответ 1

Нет, вы ничего не пропустили. Flexbox является потрясающим для упорядочивания элементов и определения общего выравнивания этих элементов вдоль основной или поперечной осей, но не говорит непосредственно с отдельным интервалом между пунктами. Если вы посмотрите на этот Codepen, используемый в статье Flexbox, вы заметите, что они используют:

margin-top: 10px

чтобы определить интервал между элементами. Надеюсь, это поможет!

Ответ 2

.rope {
  width: 393px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  background-color: aquamarine;
}
.box {
  height: 100px;
  width: 100px;
  margin: 15px;
  background: red;
}
<div class='container'>
  <div class='rope'>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
  </div>
</div>