Выравнивание inline-block'ов слева и справа на одной строке
Быстрый ответ
Для быстрого выравнивания двух блоков inline-block по левому и правому краям на одной строке следует применить свойство CSS float. Посмотрите пример ниже:
<div>
  <span style="display: inline-block;">Слева</span> 
  <span style="display: inline-block; float: right;">Справа</span>
</div>
Все, что нужно, – прижать второй элемент к правому краю, и оба блока окажутся на одной линии, словно горошины в одном стручке.

Flexbox: современный подход к выравниванию
Flexbox – это более современный и удобный инструмент для выравнивания элементов без борьбы с float и clear.
.container {
  display: flex;
  justify-content: space-between; /* Заполняем пространство равномерно */
}
Свойство justify-content: space-between; обеспечивает равное расстояние между каждым элементом.
Grid-layout: контроль выравнивания на новом уровне
Если вам необходим больший контроль, воспользуйтесь CSS Grid Layout.
.container {
  display: grid;
  grid-template-columns: auto 1fr auto; /* auto: "Я подстроюсь под вас!" */
}
Grid-layout поднимает выравнивание на новый уровень. С CSS Grid у вас есть абсолютный контроль над выравниванием.
Исключаем пробелы с помощью нулевого размера шрифта
Используя inline-block, вы можете столкнуться с проблемой пробелов между элементами.
.container { 
  font-size: 0;  /* Исключаем пробелы */
}
.container > span { 
  font-size: 16px; /* Возвращаем размер шрифта элементам */
  display: inline-block;
  vertical-align: middle;
}
Установка font-size: 0 для контейнера поможет избежать нежелательных пробелов между элементами.
Запасной план: используем text-align
В случае необходимости поддержки устаревших браузеров, таких как IE7/9, можно использовать text-align.
.container { 
  text-align: justify; /* Распределяем содержимое на всю ширину контейнера */
}
.container:after {
  content: '';
  display: inline-block;
  width: 100%;
}
text-align поможет выровнять блоки для устаревших браузеров.
Адаптивное выравнивание с Bootstrap
Bootstrap 4 предлагает удобные классы для выравнивания, идеально подходящие для любителей простоты.
<div class="d-flex justify-content-between">
  <span>Слева</span>
  <span>Справа</span>
</div>
Не пренебрегайте возможностями Bootstrap: просто выберите нужные классы, и ваша задача решена.
Float и абсолютное позиционирование: отблагодарим и забудем
Несмотря на то, что иногда можно использовать float и абсолютное позиционирование, современные методы работы с CSS сделают вашу работу более продуктивной и упорядоченной.
Визуализация
Выводя нашу аналогию float, flexbox и grid-layout, представим, что у нас есть два друга на качелях:
👦 <div style="display: inline-block; float: left;">Левый друг</div>                 👧 <div style="display: inline-block; float: right;">Правый друг</div>
[👦: Выровнен слева] <--------------------------------------------------------------------------------------> [👧: Выровнен справа]
Левый друг (👦) и Правый друг (👧) находятся напротив друг друга, точно так же, как и элементы на странице при использовании CSS!
JavaScript: для выравнивания в реальном времени
Используйте немного JavaScript, чтобы создать контент, который не только выглядит приятно, но и адаптируется к изменяющимся размерам окна.
window.onresize = function() {
  var container = document.querySelector('.container');
  container.style.textAlign = window.innerWidth > 600 ? 'justify' : 'left'; /* 600px: "Тут должна быть граница!" */
};
Здесь JavaScript действует как ди-джей, подстраивая ритм под настроение толпы или размер экрана.
Работа с особенностями inline-block
С элементами inline-block иногда могут возникнуть сложности с выравниванием, но со свойством vertical-align: middle их можно урегулировать.


