CSS DIV automatische Breite

hallo

ich entwickle zurzeit ein css-design. Oben ist ein header und weiter unten am linken rand eine kleine Navigationsleiste mit festgelegter Breite und float:left. Rechts floatet der Inhaltsbereich und genau da ist mein problem: Ich kann die Breite ja nicht festlegen, da die besucher unterschiedliche auflösungen haben und die Breite dann unterschiedlich sein wird. Ich meine also den restlichen platz, der noch neben der navileiste (120 PX) übrig ist. Javascript möchte ich auf keinen Fall verwenden. der inhalt-container soll bis auf ein margin von 20px links und rechts den gesamten verfügbaren platz (in x-richtung) einnehmen. Die Höhe soll sich nach dem inhalt richten.

es sollte halt immer passend sein, denn bei 800*600px das ja noch wenige haben, rutscht der inhalt unter die navileiste, weil zu wenig platz ist.

wie kann ich das machen?

danke

bosz4

ach ja width:auto hab ich schon versucht, aber da richtet sich die breite nach dem inhalt!

Beispl. Seite oder Code?

:smiley:

Hast du schon versucht die Größe in “%” anstelle von “pt” anzugeben ?

[code] #links {
font-family:Tahoma;
font-size:11pt;
margin-left:0px;
border-left:none;
margin-top:-7px;
width:120px;
height:auto;
border:2.5px #DDD9D9 dashed;
float:left;
}

#inhalt {
float:right;
text-align:center;
margin-left:20px;
border:2.5px #DDD9D9 dashed;
width:76%;
margin-right:20px;

}
[/code]

Natuerlich, schliesslich laesst du das Element floaten, und dann gilt fuer die Breite „shrink-to-fit“, wenn du keine explizite width-Angabe machst.

Wenn du zwei Elemente nebeneinander bekommen willst, dann ist es nicht noetig, beide zu floaten. Floate das zuerst im Quelltext stehende, und lasse das nachfolgende den Rest einnehmen.

juhu es geht danke :smiley:

edit: jetzt plötzlich nicht mehr :unamused:

Der Inhalt ist jetzt 100% breit und geht komplett in die Navileiste rein

sofern #inhalt ein Blockelement ist, einfach float und width
komplett weglassen…
Blockelemente nehmen automatisch die verfügbare Breite ein,
sofern man das nicht mutwillig verhindert.

Natuerlich, auch das ist bei float so - die inline-Inhalte neben dem gefloateten Element umfliessen dieses, das block-Element selber aber bleibt „unter“ dem gefloateten Bereich wie zuvor.

Du koenntest dem Inhaltsbereich ein entsprechendes margin-left geben, wenn es auch unterhalb der Navigation auf Abstand bleiben soll.

Tipp: Du hast als Font-family Tahoma angegeben. Wenn diese Schrift jetzt aber nicht installiert ist (soll vorkommen :wink:) würde eine ganz normale serifen-Schrift verwendet, und das ist denke ich nicht erwünscht. Daher gebe immer eine Sammlung von Schriften an, damit der Browser Alternativen hat. Also bspw.:

fon-family: Tahoma, "Trebuchet MS", Verdana, Arial, sans-serif;

Der Browser würde jetzt nach Tahoma suchen, wenn er diese nicht findet nimmt er Trbuchet MS, sollte das auch nicht vorhanden sein Verdana…
sollte keine der Schriftarten zutreffen, nimmt er die default-Nicht-Serifen Schrift. (sans-serif)