'How can I get my flex layout to stack for mobile?
I want to have the second column drop down below the first column when I resize the page to smart phone size.
Thank you for your help!
.row {
display: flex;
/* equal height of the children */
}
.col {
flex: 1;
/* additionally, equal width */
padding: 1em;
border: solid;
}
@media screen and (min-width:760px) {
.row {
display: column;
}
<div class="row">
<div class="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<div class="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad omnis quae expedita ipsum nobis praesentium velit animi minus amet perspiciatis laboriosam similique debitis iste ratione nemo ea at corporis aliquam.</div>
</div>
Solution 1:[1]
I did a few things here.
- Set the initial flex direction to column. Working "mobile first" is a good strategy.
- Set the flex direction to row at your breakpoint.
- Fixed the syntax of your media query.
- Renamed your classes to be more semantically correct. (A row isn't a row if it's a column.)
.flex-outer {
display: flex;
flex-direction: column;
}
.flex-inner {
flex: 1;
padding: 1em;
border: solid;
}
@media (min-width: 700px) {
.flex-outer {
flex-direction: row;
}
}
<div class="flex-outer">
<div class="flex-inner">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</div>
<div class="flex-inner">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad omnis quae expedita ipsum nobis praesentium velit animi minus amet perspiciatis laboriosam similique debitis iste ratione nemo ea at corporis aliquam.</div>
</div>
Solution 2:[2]
I hope this will solve your problem,
@media (max-width:700px) {
.row{
flex-direction:column;
}
}
Solution 3:[3]
You're using flex correctly. The last thing you need to fill up is media query with flex-direction: column;
.row {
display: flex; /* equal height of the children */
}
.col {
flex: 1;
padding: 1em;
border: solid;
}
/* you can use your own media query target for mobile */
@media (max-width:480px) {
.row{
flex-direction: column;
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | QuantumX |
| Solution 3 | Nick Vu |
