Дичь какая-то.
Зафиксируйте ширину блока:
- минимальную
- максимальную
- или единственную если макет статичный
3 блока внутри расположите в ряд одним из способов (float / inline-block / table / flexbox)
Что касается ширины блоков, в правильном макете она должна измеряться в колонках: загуглите 960gs и Twitter bootstrap.
Если макет не по сетке то обматерите дизайнера самым грязным образом.
Условно блок выглядит так
<header>
<div class="logo"></div>
<div class="nav"></div>
<div class="auth"></div>
</header>
header {
width: 960px;
// clearfix...
}
.logo, .nav, .auth {
float: left;
width: 33.3333%;
}