Как расположить два блока рядом css
Для того чтобы расположить рядом для элемента, например , которые по умолчанию блочные элементы, а значит занимают всю доступную ширину экрана, достаточно изменить тип отображения ( display ) на значение inline-block, и элементы встанут в ряд. Рассмотрим пример. Исходный HTML имеет вид:
class="block">Первый class="block">Второй
.block display: inline-block; border: 1px solid blue; margin: 2px; >
С таким вариантом есть одна особенность. Если, к примеру, текст в во втором блоке будет сильно длинный, то браузер перенесет этот блок на новую строку чтобы уместить содержимое, и отобразить контент полностью.
Чтобы этого избежать можно применить другой способ, как расположить два блока рядом. Добавим в исходный HTML обертку, и назначим ему способ отображение как flex элемент. Во первых, наши элементы встанут в ряд, а во вторых, они не будут переносится на следующую строку. Вместо этого просто появится полоса прокрутки.
class="wrapper"> class="block">Первый class="block">Второй
.wrapper display: flex; > .block display: inline-block; border: 1px solid blue; margin: 2px; >
Как расположить 2 блока в ряд с динамической шириной?

К пример есть 2 блока, которые должны стоять в ряд вот так:
В данном случае это кнопка и тестовое поле. У нас адаптивная верстка и все указано в %, и усложняется все тем, что в зависимости от языка на кнопке может быть текст разной длины.
Есть несколько способов как поставить эти кнопки в ряд:
1) overflow: hidden и float: left.
Не подходит так как: overflow: hidden закрывает возможность выпадающих элементов + мы не знаем конкретную ширину не одного блока
2) Указать например 80% и 20%
Не подходит так как: кнопка может сузиться или расшириться, в результате чего будет либо вылезать либо будут проблемы.
3) Таблицы
Вроде подходит но как-то сомнительно.
Есть ли еще способы как можно засунуть в ряд динамические блоки, чтобы они занимали 100% области ?
- Вопрос задан более трёх лет назад
- 1191 просмотр
Два блока рядом друг с другом CSS

При формировании той или иной страницы на сайте иногда возникает необходимость создать колонки с тем или иным содержимым, которые находились рядом друг с другом. По умолчанию блоки не располагаются рядом друг с другом, а идут по порядку снизу.
Вопросы по теме статьи или любые другие можно оставить на странице обсуждения.
Создание блоков в HTML
Для начала нам нужно создать в HTML два блока на нашей странице:
div class="container"> div id="block1">Текстdiv> div id="block2">Текстdiv> div>
Оформление блоков DIV рядом друг с другом по горизонтали
![]()
Чтобы блоки расположить рядом друг с другом в одну линию необходимо прописать в CSS двум элементам следующие параметры:
#block1 float: left; display: block; width: 300px; border: 1px solid blue; margin: 2px; > #block2 float: left; display: block; width: 300px; border: 1px solid blue; margin: 2px; >
На выходе получим результат, как показано на изображении справа.
- float — можно придать значения «left» и «right«, фактический означает к какой стороне прикрепить блок, можно например первый блок разместить слева, второй справа и они хорошо впишутся. Пример смотрите в конце статьи в созданном шаблоне.
- display: block; — выводит div блоком.
Дополнительные настройки
Остальные параметры носят декоративный характер:
- width — задаём размер блокам
- border — настраиваем границу блоков
- margin — внешние отступы, чтобы блоки не прилипали друг к другу
Дополнительные опции решения задачи
- Flexbox: Вместо использования float, можно воспользоваться flexbox, что делает управление распределением элементов более гибким:
.container display: flex; > #block1, #block2 flex: 1; margin: 2px; border: 1px solid blue; >
- Grid: Также, можно использовать CSS Grid для более сложных макетов:
.container display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 4px; > #block1, #block2 border: 1px solid blue; >
Эти методы предоставляют более современные и гибкие подходы к вёрстке в сравнении с использованием float. Обновление вашей статьи с этой информацией может быть полезным для читателей, которые ищут современные методы верстки.
Примечание
Если же возникли трудности с вёрсткой на CSS или есть вопросы по данной статье, то задавайте их в специально созданной теме про CSS на нашем форуме.
Статьи по теме CSS
- Размер блока
- Оформление линий
- Оформление таблиц
- Выравнивание блока
- Два блока рядом
- Настройка ссылок
- Настройка фона
- Настройка шрифта
- Отступы
- Оформление картинок
- Галерея картинок
- Оформление кнопок
- Оформление списков
- Оформление иконок
- Курсор в CSS
- Навигационная панель
- Выпадающее меню
- Формы в CSS
- Вёрстка шаблона сайта
- CSS Flexbox
- CSS Grid
- Анимации и переходы CSS
- Медиа-запросы CSS
- CSS-препроцессоры
- CSS-фреймворки
Как расположить несколько блоков div в ряд?
Одной из самых частых задач в вёрстке страницы — равномерное расположение блоков div по горизонтали с возможностью переноса на следующую строку. Для этого блоки

Располагаем n блоков div в горизонтальный ряд
Всё достаточно просто. Воспользуемся свойством float (выравнивание с обтеканием). Важно, чтобы минимальная ширина страницы/окна/родительского элемента позволяла вместить в себя как минимум два. Остальные блоки переносятся на следующую строку.
Как запретить обтекание блоков
Бывает так, что одна строка может наехать на другую. Для этого отменим обтекание свойством clear. Зададим его для div, который будет размером по высоте в 1 пиксель и ширине 100%. При надобности, такими пустыми блоками DIV можно запретить обтекание всех внутренних блоков, сверху и снизу.
Теперь к практике, примерам и исходникам.
Пример горизонтального расположения нескольких блоков
Всем div мы присвоим параметр float:left. Для наглядности создадим 6 таких блоков:
DIV 1 DIV 2 DIV 3 DIV 4 DIV 5 DIV 6
Смотрим пример работы и скачиваем исходники:
Рекомендую масштабировать страницу и посмотреть за поведением элементов.
Если задача состоит в том, чтобы расположить два больших блока в один ряд, то нужно float для них задать left для одного и right для другого. Опять же, ширина блоков не должна превышать ширину страницы/окна/родителя, иначе они перенесутся на следующую строку.
Спасибо за внимание! Удачи в вёрстке!