So wirds nicht funktionieren. Dein float:left sagt aus, dass Elemente rechts außerhalb #navi vorbeifließen sollen. Das trifft für das
innerhalb befindliche #inhalt nie zu.
Du musst noch einen zusätzlichen Container einführen und kannst dann die "position" rausschmeißen.
Code:
<div id="container">
<div id="navi"></div>
<div id="inhalt"></div>
</div>
Wahrscheinlich könnte die Navi auch gleich eine UL sein, statt das nochmal in ein DIV zu packen.