CodeGym /Cursos /Frontend SELF PT /Noções básicas de layout responsivo

Noções básicas de layout responsivo

Frontend SELF PT
Nível 25 , Lição 0
Disponível

1.1 Abordagem Mobile-First

Responsive design — é uma abordagem para desenvolvimento web que permite que sites se adaptem a diferentes tamanhos de tela e dispositivos, proporcionando a melhor experiência possível. O objetivo principal do layout responsivo é tornar o site fácil de usar e acessível para todos os usuários, independentemente do dispositivo que eles utilizam.

Abordagem Mobile-First significa que o desenvolvimento começa com a criação do design para dispositivos móveis, com telas menores, e depois se expande para telas maiores. Esse método ajuda a focar nos elementos e funcionalidades mais importantes do site.

Vantagens da abordagem Mobile-First:

  • Otimização de conteúdo para usuários móveis
  • Simplificação do design e funcionalidade para telas pequenas
  • Melhoria da performance ao reduzir a quantidade de conteúdo

Exemplo:

CSS
    
      /* Estilos básicos para dispositivos móveis */

      body {
        font-size: 16px;
        margin: 0;
        padding: 0;
      }

      /* Estilos para telas maiores */

      @media (min-width: 768px) {
        body {
          font-size: 18px;
        }
      }
    
  

1.2 Melhoria Progressiva (Progressive Enhancement)

A melhoria progressiva se concentra em fornecer funcionalidade básica para todos os usuários e, em seguida, adicionar melhorias para navegadores e dispositivos mais potentes. Essa abordagem assegura que o conteúdo seja acessível, mesmo se algumas funcionalidades ou estilos não forem suportados pelo dispositivo do usuário.

Vantagens da melhoria progressiva:

  • Garantir funcionalidade básica para todos os usuários
  • Melhorar a experiência do usuário para aqueles com dispositivos mais modernos
  • Redução do risco de perda de conteúdo ou funcionalidade
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Melhoria Progressiva</title>
          <style>
            /* Estilos básicos para todos os navegadores */

            body {
              font-family: Arial, sans-serif;
            }

            /* Estilos melhorados para navegadores modernos */

            @supports (display: grid) {
              .container {
                display: grid;
                grid-template-columns: 1fr 1fr;
              }
            }
          </style>
        </head>
        <body>
          <div class="container">
          <div>Conteúdo 1</div>
          <div>Conteúdo 2</div>
          </div>
        </body>
      </html>
    
  

1.3 Layouts Flexíveis (Fluid Layouts)

Layouts flexíveis significam usar elementos flexíveis que podem se adaptar a diferentes tamanhos de tela. Isso pode incluir o uso de contêineres flexíveis que automaticamente ajustam seus tamanhos de acordo com o tamanho da tela.

Vantagens dos layouts flexíveis:

  • Melhoria na exibição de conteúdo em diversos dispositivos
  • Melhor adaptação às mudanças de tamanho da tela
  • Aumento da usabilidade e acessibilidade do conteúdo

Exemplo:

HTML
    
      <div class="container">
        <div class="item-1">Content item 1</div>
        <div class="item-2">
          Etiam scelerisque lectus nulla, eget convallis orci convallis vel. Etiam sed interdum sem. Nunc vestibulum lectus nibh, in volutpat velit fermentum eget. Mauris in risus tincidunt, sodales odio et, rutrum ligula. In iaculis congue ex in laoreet. Sed id eros porttitor, finibus diam ultrices, consectetur leo. Fusce aliquam, nibh ac sollicitudin viverra, felis libero fringilla orci, nec auctor elit sapien non arcu. Proin dolor mi, iaculis ut velit id, vestibulum consectetur metus. Duis venenatis felis a diam elementum, eget ullamcorper leo scelerisque. Sed tempus euismod urna et tristique. Duis at odio quis libero commodo ullamcorper id vel odio. Maecenas volutpat rhoncus sodales. Mauris eget nunc accumsan, rhoncus massa at, placerat lorem.
          Etiam ullamcorper elementum tellus non euismod. Mauris euismod mi nisi, sed egestas ligula varius sed. Nunc tortor elit, hendrerit sed gravida in, tempus nec augue. Aliquam vitae condimentum velit. Sed id massa ac felis tempor elementum. Aenean at nulla ipsum. Fusce sed cursus tortor. Duis sodales rhoncus eros, non aliquam ante ultricies ut. Pellentesque auctor ultricies aliquet. In laoreet enim dolor, vel consectetur sapien laoreet eu.
          In efficitur pharetra ex convallis egestas. Praesent egestas, sapien fermentum consectetur vestibulum, quam dui pharetra urna, vitae finibus arcu lacus quis mauris. Quisque consectetur lorem sapien, nec pulvinar elit varius vitae. Cras elementum risus lacus, a interdum tellus euismod ac. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas pharetra, odio vel facilisis venenatis, ipsum leo viverra ligula, ut venenatis enim ipsum ut lectus. Fusce cursus mollis congue.
        </div>
      </div>
    
  
CSS
    
      .container {
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
        color: white;
      }

      .item-1 {
        min-height: 50px;
        width: calc(100% / 3);
        float: left;
        background: purple;
      }

      .item-2 {
        background: gray;
      }
    
  

1.4 Hierarquia de Conteúdo (Content Hierarchy)

A hierarquia de conteúdo é importante para o layout responsivo porque ajuda a organizar as informações de forma que sejam acessíveis e compreensíveis em qualquer dispositivo. Isso inclui o uso adequado de cabeçalhos, parágrafos, listas e outros elementos para criar uma estrutura clara e lógica.

Vantagens da hierarquia de conteúdo:

  • Melhoria na legibilidade e compreensão das informações
  • Aumento da acessibilidade do conteúdo para todos os usuários
  • Facilidade de navegação e interação com o site

Exemplo:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Hierarquia de Conteúdo</title>
          <style>
            body {
              font-family: Arial, sans-serif;
              margin: 20px;
            }

            h1 {
              font-size: 2em;
            }

            h2 {
              font-size: 1.5em;
            }

            p {
              font-size: 1em;
              line-height: 1.5;
            }
          </style>
        </head>
        <body>
          <h1>Título Principal</h1>
          <h2>Subtítulo</h2>
          <p>
            Este é um exemplo de parágrafo de texto que segue o subtítulo.
            O texto deve ser fácil de ler e entender por todos os usuários.
          </p>
        </body>
      </html>
    
  
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION