Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как поставить элементы в ряд

Короткий ответ

Блочные элементы стоят друг под другом. display: flex на родителе выстраивает их в ряд:

<div style="display: flex; gap: 8px;">
  <div style="padding: 12px; background: lavender;">One</div>
  <div style="padding: 12px; background: honeydew;">Two</div>
  <div style="padding: 12px; background: lightyellow;">Three</div>
</div>

Перенос на новую строку

Если элементов много, flex-wrap: wrap переносит лишние вниз, вместо того чтобы сжимать:

<style>
  .tags { display: flex; flex-wrap: wrap; gap: 8px; width: 240px; }
  .tags span { padding: 4px 10px; background: gainsboro; border-radius: 12px; }
</style>
 
<div class="tags">
  <span>css</span><span>html</span><span>flexbox</span><span>grid</span><span>animation</span>
</div>

Картинка рядом с текстом

Частый случай — аватар и подпись. align-items: center выравнивает их по центру по вертикали:

<div style="display: flex; align-items: center; gap: 10px;">
  <img src="/media/photo-200x200.jpg" alt="" width="48" height="48" style="border-radius: 50%;">
  <span>Anna Smith</span>
</div>

Частая ошибка

display: flex пишут на самих элементах вместо родителя — и ничего не меняется. Flexbox включается на контейнере, а выстраиваются его прямые дети.

Функции из этого ответа

  • display — Определяет, как элемент ведёт себя в потоке и как раскладывает содержимое.
  • flex-wrap — Могут ли flex-элементы переноситься на новые строки.
  • gap — Промежутки между элементами во flexbox и grid.
  • align-items — Выравнивает элементы поперёк главной оси — в ряду это по вертикали.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.