Использование <br/>
тегов для управления макетом не рекомендуется.Этот тег следует использовать только для разрыва строки в абзаце.Использование его в целях верстки является ленивой и плохой практикой.
Лучший способ создания форм в целом, как описано выше, - это использование списка <ul>
.
<form>
<ul>
<li>
<label for="firstname">Name</label>
<input name="firstname" type="text" />
</li>
<li>
<label for="surname">Surname</label>
<input name="surname" type="text" />
</li>
</ul>
</form>
Это считаетсямногие "правильные" способы сделать это.
Затем вы можете стилизовать свой список любым удобным вам способом, поэтому в зависимости от css метка может быть над или рядом с полем ввода (это где <br/>
тег это испортит).
Основной стиль, который вам нужно применить:
form ul {
list-style-type:none;
}
Это избавит от пунктов маркера в списке.Затем вы можете, например, установить элементы внутри на block
или заставить их плавать.