Como Criar um Header com Hero e 3 Tipos de Menus Modernos em HTML, CSS e Bootstrap 5

Como Criar um Header com Hero e 3 Tipos de Menus Modernos em HTML, CSS e Bootstrap 5

Como Criar um Header com Hero e 3 Tipos de Menus em HTML, CSS e Bootstrap 5

Neste tutorial você vai aprender a montar o topo completo de um site, incluindo:

  • Uma hero section de destaque

  • Três variações de menus profissionais

  • Responsividade e visual moderno

  • Código limpo, pronto para copiar

Perfeito para seu portfólio, landing pages e sites institucionais.

📁 Arquivo: hero.html

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Hero 1 - Menu Transparente</title>

  <!-- Bootstrap CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">

  <!-- CSS personalizado -->
  <link rel="stylesheet" href="hero.css">
</head>
<body>

  <!-- NAVBAR TRANSPARENTE FIXA -->
  <nav class="navbar navbar-expand-lg navbar-dark fixed-top bg-transparent glass-nav">
    <div class="container">
      <a class="navbar-brand" href="#">JVV Site</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#nav1">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="nav1">
        <ul class="navbar-nav ms-auto">
          <li class="nav-item"><a class="nav-link" href="#">Início</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Sobre</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Serviços</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Contato</a></li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- HERO -->
  <header class="hero d-flex align-items-center text-white">
    <div class="container text-center">
      <h1 class="display-4 fw-bold">Transforme seu site com um header moderno</h1>
      <p class="lead">Menu transparente com visual de impacto.</p>
      <a href="#menu" class="btn btn-warning mt-3">Explorar</a>
    </div>
  </header>

  <!-- Bootstrap JS -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

📁 Arquivo: hero.css

/* HERO visual completo */
.hero {
  height: 100vh;
  background-image: url('https://images.unsplash.com/photo-1526406915894-7bcd65f60845?auto=format&fit=crop&w=1600&q=80');
  background-size: cover;
  background-position: center;
  padding-top: 100px;
  display: flex;
  align-items: center;
  text-align: center;
  color: white;
}

/* Efeito vidro na navbar */
.glass-nav {
  backdrop-filter: blur(6px);
  background-color: rgba(0, 0, 0, 0.4) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Estilização da navbar */
.navbar .nav-link {
  color: #ffffff !important;
  transition: color 0.2s ease;
}

.navbar .nav-link:hover {
  color: #ff6a00 !important;
}

/* Hero text */
.hero h1 {
  font-size: 3rem;
  font-weight: 700;
}

.hero p {
  font-size: 1.25rem;
}

 

📁 Arquivo: hero1.html

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Hero 1 - Menu Slide Lateral</title>

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />

    <!-- CSS personalizado -->
    <link rel="stylesheet" href="hero1.css" />
</head>

<body>

    <!-- NAVBAR -->
    <nav class="navbar navbar-dark fixed-top bg-dark shadow">
        <div class="container">
            <a class="navbar-brand" href="#">JVV Slide</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#slideMenu">
                <span class="navbar-toggler-icon"></span>
            </button>
        </div>
    </nav>

    <!-- OFFCANVAS -->
    <div class="offcanvas offcanvas-start text-bg-dark" tabindex="-1" id="slideMenu">
        <div class="offcanvas-header">
            <h5 class="offcanvas-title">Navegação</h5>
            <button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas"></button>
        </div>
        <div class="offcanvas-body">
            <ul class="navbar-nav">
                <li class="nav-item"><a class="nav-link" href="#">Início</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Sobre</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Serviços</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Contato</a></li>
            </ul>
        </div>
    </div>

    <!-- HERO -->
    <header class="hero d-flex align-items-center text-white">
        <div class="container text-center">
            <h1 class="display-4 fw-bold">Menu Slide com Hero Impactante</h1>
            <p class="lead">Design moderno e funcional para mobile e desktop.</p>
            <a href="#menu" class="btn btn-warning mt-3">Ver em ação</a>
        </div>
    </header>

    <!-- Bootstrap JS -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>

</html>

📁 Arquivo: hero1.css

.hero {
  height: 100vh;
  background-image: url("https://images.unsplash.com/photo-1503264116251-35a269479413?auto=format&fit=crop&w=1600&q=80");
  background-size: cover;
  background-position: center;
  padding-top: 100px;
  display: flex;
  align-items: center;
  text-align: center;
  color: white;
}

.hero h1 {
  font-size: 3rem;
  font-weight: 700;
}

.hero p {
  font-size: 1.25rem;
}

.navbar {
  background-color: #1c1c1c;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.offcanvas {
  background-color: #1c1c1c;
}

.offcanvas .nav-link {
  color: #ffffff;
  font-size: 1.1rem;
  padding: 0.5rem 0;
}

.offcanvas .nav-link:hover {
  color: #ff6a00;
}

.btn-close-white {
  filter: invert(1);
}

📁 Arquivo: hero2.html

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Hero 3 - Menu Transparente com Scroll</title>

  <!-- Bootstrap CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />

  <!-- CSS personalizado -->
  <link rel="stylesheet" href="hero2.css" />
</head>
<body>

  <!-- MENU TRANSPARENTE -->
  <nav class="navbar navbar-expand-lg navbar-dark fixed-top bg-transparent" id="scrollNav">
    <div class="container">
      <a class="navbar-brand" href="#">JVV Glass</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#nav3">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="nav3">
        <ul class="navbar-nav ms-auto">
          <li class="nav-item"><a class="nav-link" href="#">Home</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Projetos</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Blog</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Contato</a></li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- HERO -->
  <header class="hero d-flex align-items-center text-white">
    <div class="container text-center">
      <h1 class="display-4 fw-bold">Menu Transparente com Scroll</h1>
      <p class="lead">Navbar sobre a hero que ganha destaque ao rolar.</p>
      <a href="#menu" class="btn btn-warning mt-3">Explorar</a>
    </div>
  </header>

  <!-- Bootstrap JS -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

  <!-- Scroll Effect JS -->
  <script>
    const nav = document.getElementById('scrollNav');
    window.addEventListener('scroll', () => {
      if (window.scrollY > 10) {
        nav.classList.add('scrolled');
      } else {
        nav.classList.remove('scrolled');
      }
    });
  </script>
</body>
</html>

📁 Arquivo: hero2.css

/* HERO visual */
.hero {
  height: 100vh;
  background-image: url('https://images.unsplash.com/photo-1543269865-cbf427effbad?auto=format&fit=crop&w=1600&q=80');
  background-size: cover;
  background-position: center;
  padding-top: 100px;
  display: flex;
  align-items: center;
  text-align: center;
  color: white;
}

/* Navbar transparente no topo */
.navbar {
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
  z-index: 1030;
}

/* Quando rola a página, aplica fundo escuro */
.scrolled {
  background-color: rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

/* Links */
.navbar .nav-link {
  color: #ffffff !important;
}

.navbar .nav-link:hover {
  color: #ff6a00 !important;
}

🚀 E agora?

Você acabou de ver, na prática, como criar um header completo com hero e três estilos diferentes de menus profissionais usando HTML, CSS e Bootstrap 5.

Esses exemplos são mais do que só visual:
Eles mostram como adaptar um mesmo layout a diferentes tipos de projetos — seja um site institucional, uma landing page moderna, um portfólio criativo ou até mesmo um sistema web.

 

📚 O que você aprendeu aqui:

✅ Como estruturar um layout com hero fullscreen
✅ Como usar menus fixos (sticky-top), laterais (offcanvas) e transparentes com scroll
✅ Como aplicar imagens de fundo e criar contraste com o menu
✅ Como organizar seus arquivos em HTML e CSS separados (profissionalismo!)
✅ Como deixar o layout limpo, responsivo e com boa usabilidade

 

💡 Próximos passos:

👉 Brinque com as imagens, troque as cores, adicione sua logo.
👉 Personalize os menus com seus próprios links e efeitos.
👉 Combine com outras seções, como cards de serviços, seções “Sobre mim”, portfólios, etc.
👉 E claro: use esses headers nos seus próprios projetos reais.

 

📸 Dica de ouro:

Tire print dos seus headers e poste nas redes sociais mostrando seu progresso como dev.
Marque o projeto, use hashtags e, se quiser, me marque também! 😉

 

💬 Tem dúvidas ou sugestões?

Comenta aqui ou manda uma mensagem. A ideia é continuar evoluindo junto com você.

 

✅ Conclusão

Esses três tipos de menus ajudam você a entregar uma experiência moderna e adaptável ao seu projeto. Você pode aplicar:

  • Menu fixo para blogs e sistemas

  • Slide para apps e páginas mobile

  • Transparente com efeito para landing pages e portfólios

💡 Tire print do projeto e compartilhe seus resultados no Instagram com o código #JVVDev