Следующее будет работать на основе создания высоты строки, которая эквивалентна для обоих элементов.
HTML
<div class="row">
<span class="left">Create new position</span>
<span class="right"><input type="button" value="Save" />
</div>
CSS
/* REMOVE THIS PORTION FOR YOUR IMPLEMENTATION, IT IS EXAMPLE ONLY */
* { font-family: Tahoma, sans-serif; font-size: 12px; }
.row { border: 1px solid #ccc; }
/* END EXAMPLE ONLY PORTION */
.row { height: 24px; }
.row > span { line-height: 24px; }
.left { float: left; }
.right { float: right; }
Хитрость заключается в том, чтобы установить .row
, содержащий DIV
, на 24px
высоту, а также установить для содержащихся SPAN
элементов значение line-height
, равное 24px
. Делая это, вы сообщаете браузеру, сколько вертикального пространства нужно занять для строки текста.
Обратите внимание, однако, что 24px
не является важной частью - важная часть определяет, каков ваш button
, который основан на вашем CSS и выбранном вами шрифте для самой кнопки.
Причина, по которой пример, который я вам даю, работает в вертикальном центре в этом случае, основана на EXAMPLE ONLY
CSS, который я вставил вверху - который говорит, что размер шрифта должен быть 12px
. Размер браузера по умолчанию (по крайней мере, в Chrome) будет обеспечивать немного дополнительное поле и отступы вокруг кнопки, а также границу, что в результате дает общую высоту примерно 24px
, и это выглядит так:
![Example](https://i.stack.imgur.com/RgGQY.png)
Граница создается также в примере CSS и служит только для того, чтобы показать вам, что вертикальное выравнивание правильное. После удаления .row { border: 1px solid #ccc; }
оно исчезнет.
Вот JSBin, который показывает, что он работает:
http://jsbin.com/otekil/1/edit