CSS-Frage: 2 DIVs nebeneinander gleich hoch
Eingetragen von Linulo (256)
am 21.02.2006 - 02:22 Uhr in
am 21.02.2006 - 02:22 Uhr in
Hallo!
Ich habe ein Problem mit einem HTML-Layout, das mir den letzten Nerv raubt. Die Aufgabe hört sich leicht ein: Zwei divs nebeneinander, von denen das rechte (Inhalt) länger ist als das linke (Navigation). Da das linke eine Hintergrundkachel hat, möchte ich es gern genauso lang haben wie das rechte. Hier das vereinfachte CSS:
<html>
<head>
<title>Test</title>
<style type="text/css">
div.a1 {
width: 500px;
}
div.a11 {
width: 100px;
float: left;
background-color: #e0ffe0;
color: #00a000;
height: 100%;
}
div.a12 {
width: 300px;
color: #a00000;
background-color: #ffa0a0;
}
</style>
</head>
<body>
<div class="a1">
<div class="a11">
Test<br>
Test<br>
Test<br>
</div>
<div class="a12">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam quis tortor vel orci fringilla gravida. Integer semper odio quis pede. Nunc eleifend magna vel nisl. Maecenas vulputate massa a orci. Nullam vehicula. Quisque risus eros, nonummy eget, pulvinar ac, elementum sed, orci. Praesent laoreet cursus ante. Mauris auctor tristique neque. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean vel nisi eget quam pharetra tempus. Sed ut ligula. Mauris tincidunt ornare sem. Nunc lobortis diam at nisl semper tincidunt. Sed convallis, orci vel placerat ultrices, lectus tellus dapibus ipsum, a bibendum velit enim id sem.</p>
</div>
</div>
</body>
</html>
Internet Explorer: Ist nur mit absoluten height-Werten dazu zu bringen, den linken div zu verlängern.
Opera: Ebenso.
Mozilla baut völlig Mist: 100% bedeutet für Mozilla fälschlicherweise 100% der Fensterhöhe anstatt 100% der Höhe des übergeordneten Blocks. Wenn man das Fenster klein macht, ist das entsprechend weniger. Außerdem beendet Mozilla den Textumfluss an dieser Stelle.
Hat jemand einen Tip für das Problem? In Wirklichkeit ist es noch viel komplizierter, aber das hier ist der Kern des Problems. Ich denke, dass die Rendererengine irgendwo eine absolute Höhe braucht. Nur weiß ich nicht, wie hoch der Inhalt des rechten Divs werden wird.
- Anmelden oder Registrieren um Kommentare zu schreiben
Bin leider kein CSS-Held,
am 21.02.2006 - 08:49 Uhr
Bin leider kein CSS-Held, ich kann Dir aber ein paar Links geben, die vielleicht weiterhelfen:
http://de.selfhtml.org/css/layouts/index.htm
http://brunildo.org/test/index.html#lay
http://www.glish.com/css
vg
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Ein Versuch noch
am 21.02.2006 - 09:40 Uhr
[schleim]Du bist mein ganz persönlicher Held an Hilfsbereitschaft[/schleim] :-)
Aber leider hab ich das alles schon gelesen. Es fällt mir schwer zu glauben, dass sich nicht alles, was sich mit Tabellen machen lässt, nicht auch mit CSS machen ließe. Aber die CSS-Implementierungen der Browser scheinen einem da noch öfters einen Strich durch die Rechnung zu machen.
Eine Stunde lang versuch ich's noch, dann mache ich komplizierte Layouts die nächsten 12 Monate nur noch mit Tabellen. Das klingt verbittert, bin ich aber nicht. Ich bin Pragmatiker :-).
CSS
am 21.02.2006 - 10:10 Uhr
Ein CSS Layout mit zwei Spalten und einer Mindesthöhe.
In diesem Beispiel wird gezeigt, wie man eine Box erstellen kann, die zwei Spalten besitzt, eine Mindesthöhe und wie eine Spalte "mit wächst" obwohl sich nur der Inhalt in der zweiten Spalte erweitert.
http://css.fractatulum.net/sample/layout6format.htm
Nah dran
am 21.02.2006 - 13:27 Uhr
Danke, flanker. Dieses Beispiel ist sehr nah dran und ähnlich gute Versuche hatte ich auch schon viele. Nur leider klappt nicht das, was ich konkret damit machen möchte, nämlich ein dreispaltiges Layout:
+---+-----------+---+
|...|...........|...|
|...|...........|...|
|.A.|.....B.....|.C.|
|...|...........|...|
|...|...........|...|
|...|...........|...|
|...|...........|...|
|...|...........|...|
|...|...........|...|
|...|...........|...|
+---+-----------+---+
A und C sollen dabei verschiedene vertikal gekachtelte grafische Hintergründe haben. Das Beispiel löst das Problem für zwei Spalten dadurch, dass die Hintergrundgrafiken in einer übergeordneten Division gesetzt werden, aber da geht dannn nur eine Grafik.
Wie wäre es damit
am 21.02.2006 - 13:34 Uhr
Wie wäre es damit http://webhost.bridgew.edu/etribou/layouts/skidoo_too/index.html ?
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Blitz
am 21.02.2006 - 13:42 Uhr
Geistesblitz: Wenn's mit A + B geht, müsste es auch gehen, wenn man das in eine Division AB einpackt und dann mit AB + C dasselbe macht. Gleich mal testen...
Re: Nah dran
am 21.02.2006 - 13:55 Uhr
A und C sollen dabei verschiedene vertikal gekachtelte grafische Hintergründe haben. Das Beispiel löst das Problem für zwei Spalten dadurch, dass die Hintergrundgrafiken in einer übergeordneten Division gesetzt werden, aber da geht dannn nur eine Grafik.
Wieso Problem? Hintergrundgrafiken direkt für das Element setzen und nicht für das Eltern-Element.
Tja, genau das versuch ich
am 21.02.2006 - 14:01 Uhr
Tja, genau das versuch ich seit 2 Tagen ohne Erfolg. Wenn ich das mache funktioniert das Beispiel von fractutulum auch nicht mehr übrigens.
Das Problem ist, dass bei Mozilla das Floaten nur bis zur Größe des entsprechenden DIVs funktioniert. Wenn ich dem DIV eine Höhe von 5000px gebe, ist alles ok.
/edit: Ich habe mit Mozilla und Opera nun das gewünschte Ergebnis, aber ie spackt total rum. Das war ein sehr lehrreicher Exkurs in CSS für Fortgeschrittene, danke für die Tips und Links, aber ich werde CSS trotzdem nur für einfache Layouts einsetzen. Der Aufwand ist immens und irgendein Browser ist immer dabei, der Probleme macht.
Wenn alle gängigen Browser den Acid2 Test bestehen, versuche ich's sicher noch einmal.
Quote:[...]aber ie spackt
am 21.02.2006 - 16:46 Uhr
[...]aber ie spackt total rum.
Ist das nicht immer so?!
Wenn alle gängigen Browser den Acid2 Test bestehen[...]
Na, das wird vermutlich noch eine Weile dauern. Gibt es denn überhaupt noch einen Browser ausser Konqueror, der den Test besteht?
--
sanduhrs · Stefan Auditor · Drupalcenter
http://drupal.org/user/28074 · http://association.drupal.org/user/646
Re: Quote:[...]aber ie spackt
am 21.02.2006 - 17:47 Uhr
[...]aber ie spackt total rum.
Ist das nicht immer so?!
Ich habe bei den hunderten von Zwischenversionen etliche gehabt, wo der ie alles ordnungsgemäß darsgestellt hat, Firefox aber nicht.
Wenn alle gängigen Browser den Acid2 Test bestehen[...]
Na, das wird vermutlich noch eine Weile dauern. Gibt es denn überhaupt noch einen Browser ausser Konqueror, der den Test besteht?
Ich glaub die Developer-Version von Safari. Opera ist auch schon sehr kurz davor.
Mensch Linulo...
am 21.02.2006 - 17:51 Uhr
Evtl. helfen Dir die diversen Browser-Hacks weiter:
http://standards.webmasterpro.de/index-article-CSS+Hacks.html
Nicht falsch verstehen, aber die Zeiten der Tabellen-Designs sind echt vorbei!
Kaskadierende Stil-Blätter
am 21.02.2006 - 19:02 Uhr
Nicht falsch verstehen, aber die Zeiten der Tabellen-Designs sind echt vorbei!
Sag das Microsoft :-/. Ich hätte wirklich Lust, CSS-Layouts zu machen, aber es geht einfach nicht. Niemand bezahlt mir 3 Tage Gefrickel bis das halbwegs tut und wenn doch, dann akzeptiert derjenige garantiert nicht, wenn das Layout bei bestimmten ie-Versionen komplett entgleist.
Damit Du Dir was drunter vorstellen kannst, hier die Roh-Entwürfe, um die es geht:
Daran hab ich echt lange dran gesessen und trotzdem hat's noch so seine kleinen Macken. Spannend wird's, wenn man die Größe des Browserfensters um die 1000 Pixel herum verändert.
Re: Kaskadierende Stil-Blätter
am 22.02.2006 - 09:29 Uhr
Sag das Microsoft :-/. Ich hätte wirklich Lust, CSS-Layouts zu machen, aber es geht einfach nicht. Niemand bezahlt mir 3 Tage Gefrickel bis das halbwegs tut und wenn doch, dann akzeptiert derjenige garantiert nicht, wenn das Layout bei bestimmten ie-Versionen komplett entgleist.
Verzeih' mir die doofe Phrase, aber: Übung macht den Meister. ;-) Es gibt unzählige Beispiele für komplexe tabellefreie Designs - Bsp: www.lycos.de
Damit Du Dir was drunter vorstellen kannst, hier die Roh-Entwürfe, um die es geht:
Daran hab ich echt lange dran gesessen und trotzdem hat's noch so seine kleinen Macken. Spannend wird's, wenn man die Größe des Browserfensters um die 1000 Pixel herum verändert.
Ich habe derzeit leider keinen IE griffbereit, aber im FF scheint es doch zu funktionieren, oder? Dann sollte man das auch für den IE schaffen. Schaue Dir mal die o.g. Browser-Hacks an, die helfen Dir weiter - insbesondere den Stern-Hack: http://standards.webmasterpro.de/index-article-CSS+Hacks.html#hack4