I am using Bootstrap 4, but if it works on version 3, it should work on v4.
I have 2 divs within a column like so:
<div class="row">
<div class="col-xs-12">
<div>TOP ON DESKTOP, BOTTOM ON MOBILE</div>
<div>BOTTOM ON DESKTOP, TOP ON MOBILE</div>
</div>
</div>
Is there a way I can get the divs to swap around on a mobile device? I do not want to use any JavaScript here; I would like to use Bootstrap classes only, if possible.
If it is not possible with Bootstrap, then CSS-only please.
Try position:fixed; bottom:0; . This will make your div to stay fixed at the bottom. Hope this helps.
Basically just make the position of the card block "relative", position the "top" position accordingly, then set the margin to "auto" to center it.
This can be achieved using CSS' flexbox
.
.col-xs-12
with the following properties:
display: flex;
tells the children to use the flexbox
modelflex-direction: column-reverse;
will ensure that the children flow from bottom to top (instead of the default left to right)Run the below Snippet in full screen and resize the window to see the order of the elements change.
@media only screen and (max-width: 960px) {
.col-xs-12 {
display: flex;
flex-direction: column-reverse;
}
}
<div class="row">
<div class="col-xs-12">
<div>TOP ON DESKTOP, BOTTOM ON MOBILE</div>
<div>BOTTOM ON DESKTOP, TOP ON MOBILE</div>
</div>
</div>
This can also be achieved using Bootstrap:
d-flex
to make the container use flexboxflex-column-reverse
to order the children in reverse order on small screensflex-sm-column
to order the children in normal order on larger screens<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="row">
<div class="col-xs-12 d-flex flex-column-reverse flex-sm-column">
<div>TOP ON DESKTOP, BOTTOM ON MOBILE</div>
<div>BOTTOM ON DESKTOP, TOP ON MOBILE</div>
</div>
</div>
The following code works for me:
@media only screen and (max-width: 768px) {
.xs-column-reverse {
display: flex;
flex-direction: column-reverse;
}
}
<div class="row">
<div class="col-xs-12 xs-column-reverse">
<div>TOP ON DESKTOP, BOTTOM ON MOBILE</div>
<div>BOTTOM ON DESKTOP, TOP ON MOBILE</div>
</div>
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With