Как расположить два блока рядом css
5 лет назад
Человек-Молекула
Ответы
Для того чтобы расположить рядом для элемента, например , которые по умолчанию блочные элементы, а значит занимают всю доступную ширину экрана, достаточно изменить тип отображения (display) на значение inline-block, и элементы встанут в ряд. Рассмотрим пример. Исходный HTML имеет вид:
Стили:
С таким вариантом есть одна особенность. Если, к примеру, текст в во втором блоке будет сильно длинный, то браузер перенесет этот блок на новую строку чтобы уместить содержимое, и отобразить контент полностью.
Чтобы этого избежать можно применить другой способ, как расположить два блока рядом. Добавим в исходный HTML обертку, и назначим ему способ отображение как flex элемент. Во первых, наши элементы встанут в ряд, а во вторых, они не будут переносится на следующую строку. Вместо этого просто появится полоса прокрутки.
Стили:
4 года назад
Вячеслав Межуревский
Оберните блоки в общий контейнер и сделайте его флексом:
div по умолчанию занимает всю ширину строки, поэтому блоки встают друг под другом. display: flex у родителя ставит их в ряд.
Разная ширина
Или в пропорции 2 к 1:
На телефоне — друг под другом
Или без медиазапроса: flex-wrap: wrap и минимальная ширина блоков. Когда места не хватит, второй блок сам перенесётся вниз:
Через grid
1fr 1fr — две равные колонки. 280px 1fr — фиксированная слева и резиновая справа.
Выровнять блоки по высоте и по вертикали
Во флексе блоки в ряд по умолчанию растягиваются на одинаковую высоту. Чтобы выровнять по центру:
Старые способы
Раньше блоки ставили рядом через float: left или display: inline-block. Оба способа требуют обходных приёмов: очистки потока или борьбы с пробелами между блоками. Во всех современных браузерах работают flex и grid.
Флексбокс, грид и адаптивную вёрстку разбирают на курсе «Профессиональная верстка».
11 дней назад
Никита Вихров






