Hi,
Ich überarbeite gerade meine Layout-Struktur und möchte komplett auf flex gehen.
Dazu habe ich das Dokument in Header, Main und Footer eingeteilt. Ich hänge allerdings gerade bei den Header-Elementen. Im Prinzip soll es dort nur zwei Bereich geben, den oberen ( bspw. für Logo, Slogan, Bilder, etc. ) und einen unteren ( Navi ).
Wie auf der Abbildung zu sehen, möchte ich die beiden Container so aufbauen, dass der erste immer oben im Parent ist und der zweite immer unten.
Aber daran scheitert es gerade. Habe mir einiges im Netz angesehen, aber die Dinge, die dort funktionieren, funktionieren bei mir nicht. Die beiden Container "kleben" untereinander, wie gewöhnliche Blockelemente.
Der Aufbau sieht momentan so aus:
Das relevante CSS:
Ich wollte den beiden Containern ungern eine feste Höhe geben.
Sicher kann mir ein Flex versierter einen Tipp geben, was ich falsch mache?
Danke
Ich überarbeite gerade meine Layout-Struktur und möchte komplett auf flex gehen.
Dazu habe ich das Dokument in Header, Main und Footer eingeteilt. Ich hänge allerdings gerade bei den Header-Elementen. Im Prinzip soll es dort nur zwei Bereich geben, den oberen ( bspw. für Logo, Slogan, Bilder, etc. ) und einen unteren ( Navi ).
Wie auf der Abbildung zu sehen, möchte ich die beiden Container so aufbauen, dass der erste immer oben im Parent ist und der zweite immer unten.
Aber daran scheitert es gerade. Habe mir einiges im Netz angesehen, aber die Dinge, die dort funktionieren, funktionieren bei mir nicht. Die beiden Container "kleben" untereinander, wie gewöhnliche Blockelemente.
Der Aufbau sieht momentan so aus:
HTML-Code:
<div class="wrapper"> <header> <div>foobar</div> <div> <nav> <ul> <li>...</li> <li>...</li> <li>...</li> <li>...</li> </ul> </nav> </div> </header> <main> <!-- content --> </main> <footer> <!-- footer --> </footer> </div>
Code:
DIV.wrapper { display:flex; flex-direction:column; height:100%; } HEADER { display:flex; flex-direction:column; align-content:space-between; justify-content:space-between; } MAIN { flex:3; } FOOTER { flex:1; } HEADER > DIV { flex:2; align-self:flex-start; } HEADER > DIV:last-child { flex:1; align-self:flex-end; }
Sicher kann mir ein Flex versierter einen Tipp geben, was ich falsch mache?
Danke
Kommentar