How to Achieve a 3 Column Desktop to 1 Column Mobile Layout Without Media Queries?

Barbara Streisand
Release: 2024-11-16 06:05:02
Original
803 people have browsed it

How to Achieve a 3 Column Desktop to 1 Column Mobile Layout Without Media Queries?

Achieving 3 Column Desktop to 1 Column Mobile Layout Without Media Queries

Creating flexible layouts that adapt to different screen sizes is a common web design challenge. While media queries are a reliable solution, they can introduce unnecessary breakpoints in the layout. This article explores an alternative approach to achieving a 3 column desktop to 1 column mobile layout without resorting to media queries.

Problem:

Often, websites desire a 3-column layout on desktop, transitioning to a single-column layout on mobile devices. However, during the transition from multiple columns to a single-column layout, an intermediate stage occurs where columns become narrow and distorted. Attempts to utilize clamp(), minmax(), and other functions often yield unsatisfactory results.

Solution:

The proposed solution utilizes flex-basis with a formula that effectively creates a breakpoint without a media query. The formula is:

max(0px, (target-screen-size - 100vw)*1000)
Copy after login

For instance, to create a breakpoint at a screen size of 400px:

max(0px, (400px - 100vw)*1000)
Copy after login

If the screen is wider than 400px, the formula will return 0px, ensuring the columns are not affected. Otherwise, it will return a large value, effectively forcing a line break and creating a single-column layout.

Implementation:

Apply the formula to the flex-basis of the container's children:

.container {
  display: flex;
  flex-wrap: wrap;
}

.container div {
  height: 100px;
  border: 2px solid;
  background: red;
  flex-basis: max(0px, (400px - 100vw) * 1000);
  flex-grow: 1;
}
Copy after login

This approach removes the need for explicit media queries while providing a smoother transition between column layouts.

The above is the detailed content of How to Achieve a 3 Column Desktop to 1 Column Mobile Layout Without Media Queries?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template