Hmm. Warum hast du für #inhalt right:0 angegeben? Das platziert den rechten Rand des <div>s an den rechten Rand des Browser-Fensters -- das wolltest du aber nicht. Der Grund, warum es trotzdem nicht funktioniert, ist, dass du keine Positionieren angegeben hast -- hier bräuchtest du position:absolute;.
Aber das war eben nicht mein Vorschlag. Ich ging davon aus, dass die Höhe des Headers schon feststand -- etwa weil die Header-Grafik 120px hoch ist oder so. Dann brauchst du #inhalt überhaupt nicht zu positionieren. Dein HTML sollte ungefähr so aussehen:
HTML-Code:
<div id="header">
<img src="headergrafik.gif" />
</div>
<div id="menue">Dies ist die Menüleiste</div>
<div id="inhalt">Hier kommt der Inhalt.</div>
Dein CSS würde dann ungefähr so aussehen:
Code:
#header img{
display: block; /* Sonst wird der Header-div ein paar Pixel zu groß */
width: 800px; /* Oder was auch immer */
height: 120px;
}
#menue{
position: absolute;
top: 120px; right: 0;
width: 150px;
background-color: #06f; /* Kurzform für #0066ff, spart meine Tastatur :) */
}
#inhalt{
margin-right: 150px;
background-color: #ccc;
}
Wenn du das aber so ausprobierst, wirst du feststellen, dass sich nicht alles so aussieht, wie es aussehen soll. Der Grund: Der Browser fügt dem Fenster immer einen Rand von ein paar Pixeln, deshalb verrutschen #header und #inhalt ein paar Pixel nach unten: Sie sind beide im normalen Textfluss, die Menüleiste aber wurde aus dem Textfluss herausgenommen mit position:absolute und genau 120 Pixel vom oberen Fensterrand platziert, egal was für Ränder der Browser sonst macht. Da sich die Größe des Rands je nach Browser unterscheidet, kannst du nicht wissen, um wie viele Pixel du die Menüleiste "verschieben" musst. Aber du kannst die Ränder ausschalten, und zwar mit:
Code:
body{
margin: 0; /* Manche Browser verwenden für die Ränder margin... */
padding: 0; /* ...andere jedoch padding. */
}