CCS Problem mit <div>s
Hi Leute,
eigentlich möchte ich nur ein <div id="1">, dass ein weiteres <div id="2"> enthält, welches noch ein <div id="3"> enthällt. div 3 enthält den text und soll rechts einen Scrollbalken anzeigen, fals der Text zu lang ist. Mein problem ist dabei, dass die inneren divs immer aus dem äußeren "ausbrechen". Wie kann ich denn sagen, dass z.b. div 2 nicht über div 1 hinausragen darf??? Kann mir jemand helfen???? thx, MFG dope_dope |
Soweit ich weiß dürfen IDs und Klassen nicht mit Zahlen beginnen.
Die Browser sollten die IDs also ignorieren. Versuch mal IDs die mit einem Buchstaben beginnen, ev. klappts dann. |
Das ist nur ein Beispiel, die Klassen haben eigentlich Namen anstatt zahlen!
Hat jemand eine andere Idee?? |
Zitat:
http://www.xhtmlforum.de/viewtopic.php?t=1399 Grüße fricca |
Also noch mal von vorne:
Das ist meine HTML-Datei: Code:
<!DOCTYPE html Und das ist die CSS-Datei: Code:
body { Was ich möchte: 1.) div#main soll 75% der gesamten Seite hoch sein, egal was drin steht! 2.) div#main-left und div#main-content dürfen nicht über den unteren Rand von div#main hinausragen 3.) div#inner-border darf nicht über den unteren Rand von div#main-content hinauragen 4.) bei div#inner-border sollen scrollbalken angezeigt werden, anstatt den gesamten div#main einfach nach unten zu vergrößern wie es im Moment im IE der Fall ist (siehe auch 1.) --> Was muss ich machen, damit z.B. div#main-content weiss, dass es nen Teil von div#main ist und da drinnen bleibt anstatt sich drüber zu legen??? Und damit es auch die Größe von div#main nicht einfach vergrößert sondern so lässt wie sie ist? Kann ich das mit position machen oder wie geht das??? Ist das jetzt besser erklärt??? |
Zitat:
Welchen Doctype verwendest du? Hast du alle relevanten CSS-Angaben für die Elternelemente von #main gemacht? Das kann man an deinen Ausschnitten nicht sehen. |
Ich habe den obigen Code jetzt um die entsprechenden Punkte ergänzt. Wenn du dir diesen kopierst, dann wirst du merken, dass "ganz langer Text (...)" nicht eine absolute größe hat und mit Scrollbalken angezeigt wird wie ich es haben möchte, sondern die divs einfach immer weiter nach unten vergrößert werden umso mehr text es wird.
Was kann ich denn nun dagegen machen??? |
Ich vermute, du testest im IE? Schlechte Wahl, nimm lieber Firefox.
Der IE braucht: html, body {height:100%} Setz außerdem mit * {margin:0; padding:0;} alle Default-Randabstände auf 0. Warum positionierst du #main absolut? Pixel und Prozentwerte mischen (so wie du es tust) kann nicht gutgehen. Pixelhöhe von #header + Prozenthöhe von #main erzeugt irgenwann doppelte Scrollleisten. Nicht schön. Außerdem mischt du prozentuale Höhen und Breitenangaben mit padding/border/margin in Pixel. Das Box-Modell ist dir bekannt? Hier gibt's eine "100% + Rest"-Lösung: http://www.xhtmlforum.de/viewtopic.php?t=4465 Grüße fricca |
Hier die Lösung für mein Beispiel:
IE braucht: body { height: 100%;} Firefox braucht zusätzlich: html { height: 100%;} Jetzt kann ich auch endlich das position: absolute was da eh nichts verloren hatte entfernen! THX an fricca !!! |
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:43 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023