Construindo Layouts Flexíveis para Diferentes Tamanhos de Tela
No desenvolvimento web moderno, existem duas abordagens: layouts adaptativos e responsivos.
Layouts responsivos são projetados para ter múltiplas variações de exibição que podem transitar suavemente entre si, permitindo o redimensionamento e alongamento flexível dos elementos. Quando o tamanho da viewport é alterado, os blocos na página são contraídos ou esticados de forma fluida e, em um breakpoint específico, eles mudam seu posicionamento para otimizar o uso do espaço horizontal.
Layouts adaptativos possuem múltiplas variações de exibição, mas as mudanças de design ocorrem por saltos definidos entre breakpoints. Uma vez que um breakpoint é atingido, o design não pode ser alterado até que o próximo breakpoint seja alcançado.
Prática
Vamos praticar criando 2 elementos div. O primeiro elemento terá o layout adaptativo e o segundo terá o layout responsivo. Também é necessário adicionar valores diferentes para a propriedade background-color conforme a alteração da tela.
- Para a largura de 0 a 320px, a cor é
#7f58af; - Para a largura de 321px a 600px, a cor é
#64c5eb; - Para a largura de 601px a 880px, a cor é
#eb4dba; - Para a largura a partir de 881px, a cor é
#feb326.
O HTML fica assim:
<div class="adaptive"></div>
<div class="responsive"></div>
Para o layout adaptativo, também é necessário especificar uma largura específica para o elemento div.
- Para a largura de 321px a 600px, a largura é
300px; - Para a largura de 601px a 880px, a largura é
580px; - Para a largura a partir de 881px, a largura é
860px.
O CSS fica assim:
div {
height: 200px;
margin: 10px auto;
background-color: #7f58af;
}
/* ===> Adaptive <=== */
@media screen and (min-width: 321px) {
.adaptive {
background-color: #64c5eb;
width: 300px;
}
}
@media screen and (min-width: 601px) {
.adaptive {
background-color: #eb4dba;
width: 580px;
}
}
@media screen and (min-width: 881px) {
.adaptive {
background-color: #feb326;
width: 860px;
}
}
/* ===> Responsive <=== */
.responsive {
width: 100%;
}
@media screen and (min-width: 321px) {
.responsive {
background-color: #64c5eb;
}
}
@media screen and (min-width: 601px) {
.responsive {
background-color: #eb4dba;
}
}
@media screen and (min-width: 881px) {
.responsive {
background-color: #feb326;
}
}
O resultado obtido. Atenção à alteração da largura da tela na parte superior da gravação:
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain the main differences between adaptive and responsive layouts in simpler terms?
How do the color and width changes work in the provided CSS for each layout?
Can you give more examples of when to use adaptive vs responsive layouts in real projects?
Incrível!
Completion taxa melhorada para 2.08
Construindo Layouts Flexíveis para Diferentes Tamanhos de Tela
Deslize para mostrar o menu
No desenvolvimento web moderno, existem duas abordagens: layouts adaptativos e responsivos.
Layouts responsivos são projetados para ter múltiplas variações de exibição que podem transitar suavemente entre si, permitindo o redimensionamento e alongamento flexível dos elementos. Quando o tamanho da viewport é alterado, os blocos na página são contraídos ou esticados de forma fluida e, em um breakpoint específico, eles mudam seu posicionamento para otimizar o uso do espaço horizontal.
Layouts adaptativos possuem múltiplas variações de exibição, mas as mudanças de design ocorrem por saltos definidos entre breakpoints. Uma vez que um breakpoint é atingido, o design não pode ser alterado até que o próximo breakpoint seja alcançado.
Prática
Vamos praticar criando 2 elementos div. O primeiro elemento terá o layout adaptativo e o segundo terá o layout responsivo. Também é necessário adicionar valores diferentes para a propriedade background-color conforme a alteração da tela.
- Para a largura de 0 a 320px, a cor é
#7f58af; - Para a largura de 321px a 600px, a cor é
#64c5eb; - Para a largura de 601px a 880px, a cor é
#eb4dba; - Para a largura a partir de 881px, a cor é
#feb326.
O HTML fica assim:
<div class="adaptive"></div>
<div class="responsive"></div>
Para o layout adaptativo, também é necessário especificar uma largura específica para o elemento div.
- Para a largura de 321px a 600px, a largura é
300px; - Para a largura de 601px a 880px, a largura é
580px; - Para a largura a partir de 881px, a largura é
860px.
O CSS fica assim:
div {
height: 200px;
margin: 10px auto;
background-color: #7f58af;
}
/* ===> Adaptive <=== */
@media screen and (min-width: 321px) {
.adaptive {
background-color: #64c5eb;
width: 300px;
}
}
@media screen and (min-width: 601px) {
.adaptive {
background-color: #eb4dba;
width: 580px;
}
}
@media screen and (min-width: 881px) {
.adaptive {
background-color: #feb326;
width: 860px;
}
}
/* ===> Responsive <=== */
.responsive {
width: 100%;
}
@media screen and (min-width: 321px) {
.responsive {
background-color: #64c5eb;
}
}
@media screen and (min-width: 601px) {
.responsive {
background-color: #eb4dba;
}
}
@media screen and (min-width: 881px) {
.responsive {
background-color: #feb326;
}
}
O resultado obtido. Atenção à alteração da largura da tela na parte superior da gravação:
Obrigado pelo seu feedback!