Ich habe einen primären Container, der alle div
s mit einer flex-direction
Zeile enthält.Hinzufügen einer Zeile zu einem verschachtelten Flex-Container auf Medienabfrage
Ein zweiter Container, der verschachtelt ist, enthält zwei div
s, die eine Spalte haben, um zwei div
s in einer Reihe im äußeren Container zu stapeln.
Mit flex-box
und Medienabfrage, ich habe versucht, die vorhandene zwei Zeilenspalte div
'kleineren Container' in eine drei Zeilen Spalte Div einmal die Browserbreite ist weniger als 1000px.
Ich habe versucht, dies zu tun durch eine drittes leeres div
innerhalb smaller-container
Erstellen und außerhalb des kleineren Behälters seinen Auftrag mit einem div tauschen, sobald der Browser-Breite kleiner als 1000px ist.
Es hat nicht funktioniert. Ich denke, das liegt daran, dass die beiden fraglichen div
(das leere div und das äußere div) sich auf einer anderen Verschachtelungsebene befinden.
Es wäre großartig, wenn jemand eine Lösung finden könnte, um die zwei Zeilen in einer Spalte in drei Zeilen in einer Spalte umzuwandeln.
Noch besser, wenn diese Lösung keinen verschachtelten Container benötigt. Javascript-Lösung ist auch willkommen, wenn es kein Plugin benötigt.
Bild davon, wie es aussehen sollte:
/*Basic Reset*/
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
}
body {
max-width: 1366px;
margin: auto;
width: 100%;
}
.container {
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
.box-1 {
order: 1;
background-color: red;
height: 150px;
width: 50%;
}
.smaller-container {
display: flex;
flex-wrap: wrap;
flex-direction: column;
width: 50%;
order: 2;
}
.box-2 {
order: 3;
background-color: blue;
height: 75px;
width: 100%;
}
.box-3 {
order: 4;
background-color: green;
height: 75px;
width: 100%;
}
.box-4 {
order: 5;
width: 100%;
}
.box-5 {
order: 6;
background-color: orange;
height: 150px;
width: 100%;
}
@media screen and (max-width: 1000px) {
.box-2 {
height: 50px;
}
.box-3 {
height: 50px;
}
/******* Here we swap the empty div that hasbeen existing in the smaller container
with an outer div ********/
.box-5 {
order: 5;
height: 50px;
}
.box-4 {
order: 6;
background-color: purple;
height: 150px;
}
}
[image of desired solution][1] [1]:http://i.stack.imgur.com/vlvlx.png
<div class="container">
<div class="box-1"></div>
<div class="smaller-container">
<div class="box-2"></div>
<div class="box-3"></div>
<div class="box-4"></div>
</div>
<div class="box-5"></div>
</div>
https://jsfiddle.net/lukindo/nuv603h9/1/
Für Antworten auf dieser Seite, die Ihnen nützlich, [betrachten eine upvote] (http://stackoverflow.com/help/jemand-Antworten). Es gibt keine Verpflichtung. Nur eine Möglichkeit, qualitativ hochwertige Inhalte zu fördern. –