Если заставить кнопки оставаться в одной строке, они выйдут за пределы фиксированной ширины div, в котором они находятся. Если вы согласны с этим, тогда вы можете сделать еще один div внутри уже существующего div. Новый div, в свою очередь, будет удерживать кнопки и иметь фиксированную ширину, но столько места, сколько нужно двум кнопкам в одной строке.
Вот пример:
<div id="parentDiv" style="width: [less-than-what-buttons-need]px;">
<div id="holdsButtons" style="width: [>=-than-buttons-need]px;">
<button id="button1">1</button>
<button id="button2">2</button>
</div>
</div>
Возможно, вы захотите рассмотреть свойство переполнения для фрагмента содержимого за пределами parentDiv
границы.
Удачи!