How Can I Reorder Divs Using CSS Flexbox Based on Screen Width?
Change Div Order with CSS, Depending on Device Width
When creating responsive websites, maintaining the desired layout across different devices can be a challenge. One such issue is the rearrangement of divs when the screen size changes. While it's straightforward to stack divs vertically on smaller screens, it can be more complex to order them differently based on the layout.
For example, let's consider a scenario with two columns of divs. On larger screens, divs are displayed horizontally, but when the screen width narrows, they stack vertically. However, we require a specific order for the divs in the vertical layout.
Traditionally, JavaScript would be employed for such tasks. However, in this scenario, JavaScript is not an option. Therefore, we turn to the versatile CSS flexbox spec to achieve our goal.
Using the 'order' and 'flex-flow' properties, we can create a layout that meets our requirements. Note that this solution is supported by all evergreen browsers and IE11, albeit with a vendor prefix for IE10.
In our CSS, we define div properties such as width, height, and inline-block display. We also assign color classes to each div.
Next, we define a media query that activates when the screen width drops below 531px. Within this query, we modify the container's display properties to 'flex' and 'column,' ensuring that the divs stack vertically on narrower screens.
Then, we specify the order in which the divs should appear in the vertical layout. Using the 'order' property, we assign a higher order value to divs that should appear near the top of the vertical stack.
Here's an illustrative example:
.container div { width: 100px; height: 50px; display: inline-block; } .one { background: red; } .two { background: orange; } .three { background: yellow; } .four { background: green; } .five { background: blue; } @media screen and (max-width: 531px) { .container { display: flex; flex-flow: column; } .five { order: 1; } .four { order: 2; } .three { order: 3; } .two { order: 4; } .one { order: 5; } }
<div class="container"> <div class="one">I'm first</div> <div class="two">I'm second</div> <div class="three">I'm third</div> <div class="four">I'm fourth</div> <div class="five">I'm fifth</div> </div>
The above is the detailed content of How Can I Reorder Divs Using CSS Flexbox Based on Screen Width?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

It's out! Congrats to the Vue team for getting it done, I know it was a massive effort and a long time coming. All new docs, as well.

With the recent climb of Bitcoin’s price over 20k $USD, and to it recently breaking 30k, I thought it’s worth taking a deep dive back into creating Ethereum

I had someone write in with this very legit question. Lea just blogged about how you can get valid CSS properties themselves from the browser. That's like this.

The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.

I'd say "website" fits better than "mobile app" but I like this framing from Max Lynch:

There are a number of these desktop apps where the goal is showing your site at different dimensions all at the same time. So you can, for example, be writing

If we need to show documentation to the user directly in the WordPress editor, what is the best way to do it?

Questions about purple slash areas in Flex layouts When using Flex layouts, you may encounter some confusing phenomena, such as in the developer tools (d...
