Во-первых, разрыв строки не создает интервалов до или после содержимого вокруг него, поэтому разрыв строки не вызывает проблем с интервалами. Полный пример кода поможет, но проверьте следующее, потому что это работает, и выровняйте их идеально в Firefox:
<div style="text-align: center;">
Some text<br />
<input type="text" style="width: 150px;"><br />
<input type="text" style="width: 150px;">
</div>
Сначала проверьте тип документа вашей страницы. Убедитесь, что вы объявляете это правильно (xhtml, учитывая, что вы закрываете разрыв строки). Кроме того, учитывая, что, как я полагаю, разрывы строк не разделяют их, вы должны попытаться сократить код до тех пор, пока не найдете причину. У вас может быть неразрывный пробел перед одним из полей ввода (см. http://www.htmlbasictutor.ca/non-breaking-space.htm, потому что я не знаю, как заставить stackoverflow записать этот символ), который бы его переместил, или вы могли бы иметь какой-нибудь CSS, дающий один из них запас. Вы можете иметь над ними плавающий элемент, который вторгается в него и смещает его.
Если все остальное терпит неудачу, просто поместите их в свои собственные div вместо использования перевода строки. Завершение чего-либо в div будет иметь тот же эффект. Также вы можете сделать ясно: оба; на div, чтобы убедиться, что ничто не всплывало выше, это не влияет на это.