CodeGym /Cursos /Frontend SELF PT /Criação de Layouts Complexos

Criação de Layouts Complexos

Frontend SELF PT
Nível 22, Lição 4
Disponível

10.1 Layout de Duas Colunas

Criar layouts complexos em páginas web exige um entendimento profundo de diferentes métodos de posicionamento e suas combinações. Nesta aula, vamos ver alguns exemplos práticos de criação de layouts complexos usando várias técnicas CSS, como Flexbox, Grid e o posicionamento tradicional.

Layout de blog com navegação fixa

Este layout inclui um cabeçalho, barra de navegação fixa, conteúdo principal e barra lateral.

Exemplo:

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

      .header {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
      }

      .navbar {
        position: fixed;
        top: 0;
        width: 100%;
        background-color: #444;
        color: white;
        padding: 10px;
        box-sizing: border-box;
        z-index: 1000;
      }

      .container {
        display: flex;
        margin-top: 60px; /* Altura da navegação fixa */
      }

      .main-content {
        flex: 3;
        padding: 20px;
      }

      .sidebar {
        flex: 1;
        padding: 20px;
        background-color: #f4f4f4;
      }

      .footer {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        position: relative;
        margin-top: auto;
      }
    
  
HTML
    
      <div class="header">My Blog</div>
      <div class="navbar">Navigation</div>
      <div class="container">
        <div class="main-content">
          <h1>Main Content</h1>
          <p>Here is the main content of the blog.</p>
        </div>

        <div class="sidebar">
          <h2>Sidebar</h2>
          <p>Links and other content.</p>
        </div>
      </div>
      <div class="footer">Footer</div>
    
  

Neste exemplo, a barra de navegação fixa permanece no lugar ao rolar a página graças ao position: fixed. O conteúdo principal e a barra lateral são dispostos em duas colunas usando o Flexbox.

10.2 Site de Página Única

Site de página única com cabeçalho e rodapé fixo

Este layout inclui cabeçalho, conteúdo principal e rodapé. O cabeçalho e o rodapé permanecem visíveis ao rolar a página.

Exemplo:

CSS
    
      body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        margin: 0;
        font-family: Arial, sans-serif;
      }

      .header {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        position: sticky;
        top: 0;
        z-index: 1000;
      }

      .main {
        flex: 1;
        padding: 20px;
        background-color: #f4f4f4;
      }

      .footer {
        background-color: #333;
        color: white;
        padding: 20px;
        text-align: center;
        position: sticky;
        bottom: 0;
        z-index: 1000;
      }
    
  
HTML
    
      <div class="header">Sticky Header</div>
      <div class="main">
        <h1>Main Content</h1>
        <p>Here is the main content of the page. Scroll to see the sticky header and footer in action.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque luctus lectus eu tortor vehicula, et convallis lacus varius. Integer at orci in nisl faucibus placerat.</p>
      </div>
      <div class="footer">Sticky Footer</div>
    
  

Neste exemplo, o cabeçalho e o rodapé permanecem visíveis ao rolar a página graças ao position: sticky.

10.3 Barra de Navegação Multinível

Este layout inclui uma barra de navegação multinível que usa listas aninhadas e pseudoclasses para criar menus suspensos.

Exemplo:

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

      .navbar {
        background-color: #333;
        overflow: hidden;
      }

      .navbar ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
        position: relative;
      }

      .navbar li {
        float: left;
      }

      .navbar li a {
        display: block;
        color: white;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
      }

      .navbar li a:hover {
        background-color: #111;
      }

      .navbar li ul {
        display: none;
        position: absolute;
        background-color: #333;
      }

      .navbar li:hover ul {
        display: block;
      }

      .navbar li ul li {
        float: none;
      }

      .navbar li ul li a {
        padding: 14px 16px;
      }
    
  
HTML
    
      <div class="navbar">
        <ul>
          <li><a href="#">Home</a></li>
          <li><a href="#">Services</a>
            <ul>
              <li><a href="#">Web Design</a></li>
              <li><a href="#">SEO</a></li>
              <li><a href="#">Marketing</a></li>
            </ul>
          </li>
          <li><a href="#">About</a></li>
          <li><a href="#">Contact</a></li>
        </ul>
      </div>
    
  
1
Tarefa
Frontend SELF PT, nível 22, lição 4
Bloqueado
Layout de duas colunas
Layout de duas colunas
1
Tarefa
Frontend SELF PT, nível 22, lição 4
Bloqueado
Site de uma página
Site de uma página
1
Pesquisa/teste
Fluxo do documento, nível 22, lição 4
Indisponível
Fluxo do documento
Fluxo do documento
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION