"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar um layout fluido de 3 colunas para 1 coluna sem consultas de mídia?

Como criar um layout fluido de 3 colunas para 1 coluna sem consultas de mídia?

Publicado em 2024-11-18
Navegar:104

How to Create a Fluid 3-Column to 1-Column Layout Without Media Queries?

Sem consultas de mídia: alcançando um layout fluido de desktop de 3 colunas para celular de 1 coluna

As consultas de mídia tradicionais desempenham um papel crucial na adaptação layouts de sites para vários tamanhos de tela. No entanto, na busca por criar um design verdadeiramente fluido e responsivo, há o desejo de explorar soluções alternativas que eliminem a necessidade de consultas de mídia.

Considere um site com layout de 3 colunas em desktops:

   |  |  |
---| ---| ---|
| 1 | 2 | 3 |

No celular, porém, o layout deve se transformar em uma única coluna:

|
---|
| 1 |
| 2 |
| 3 |

Para conseguir isso de forma dinâmica, os poderosos recursos do CSS vêm em socorro:

Grid and Clamp

.grid-wrapper {
   display: grid;
   gap: 15px;
   grid-template-columns: repeat(clamp(1, calc(100% - 500px), 3), 33%);
}

A função repeat() cria um número especificado de colunas, e clamp() garante um mínimo de 1 coluna quando a janela de visualização diminui abaixo de 500px.

Flexbox e margem negativa

.flex-container {
   display: flex;
   flex-direction: row;
}

.flex-item {
   width: 33%; /* initial width */
   margin-right: -15px; /* negative margin to facilitate overlapping */
   background-color: red;
}

/* Breakpoint rule for smaller screens */
@media screen and (max-width: 500px) {
   .flex-item {
      margin-right: 0; /* remove negative margin on mobile */
   }
}

Essa abordagem garante que os itens sejam alinhados lado a lado em telas maiores, mas empilhados verticalmente em telas mais estreitas. A margem negativa inicialmente cria sobreposição, que é corrigida removendo-a em telas menores.

Conclusão

Aproveitando grade, braçadeira, flexbox e margens negativas, é possível para criar layouts fluidos que se adaptam perfeitamente entre várias colunas e uma única coluna, eliminando a necessidade de consultas de mídia para alterações básicas de layout.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3