Table des matières
1. Basic HTML Structure
2. Style with CSS (Flexbox + Media Queries)
3. Mobile Responsiveness with Media Queries and JavaScript
Add mobile styles:
Add JavaScript for toggle functionality:
4. Extra Touches (Optional)
Final Notes
Maison interface Web Questions et réponses frontales Comment créer une barre de navigation réactive dans HTML

Comment créer une barre de navigation réactive dans HTML

Aug 13, 2025 am 06:28 AM

使用HTML创建包含logo、导航链接和汉堡菜单的语义化结构;2. 通过CSS Flexbox布局实现桌面端导航栏样式,并设置固定定位与响应式容器;3. 在768px以下屏幕使用媒体查询隐藏导航菜单,显示汉堡图标,并通过JavaScript切换.active类控制菜单展开与收起;4. 可选添加平滑滚动、点击链接后关闭移动端菜单及汉堡图标动画效果;5. 注意可访问性与多设备测试,最终实现一个兼容桌面与移动设备的响应式导航栏,以完整句结束。

How to create a responsive navigation bar in HTML

Creating a responsive navigation bar in HTML involves combining HTML for structure, CSS for styling and layout, and optionally a bit of JavaScript for mobile toggle functionality. Here’s how to build a clean, responsive navbar that works well on both desktop and mobile devices.

How to create a responsive navigation bar in HTML

1. Basic HTML Structure

Start with a simple navigation bar using semantic HTML. Use a <nav> element to wrap your navigation links.

<nav class="navbar">
  <div class="nav-container">
    <a href="#" class="nav-logo">Logo</a>

    <ul class="nav-menu">
      <li class="nav-item">
        <a href="#" class="nav-link">Home</a>
      </li>
      <li class="nav-item">
        <a href="#" class="nav-link">About</a>
      </li>
      <li class="nav-item">
        <a href="#" class="nav-link">Services</a>
      </li>
      <li class="nav-item">
        <a href="#" class="nav-link">Contact</a>
      </li>
    </ul>

    <div class="nav-toggle" id="mobile-menu">
      <span class="bar"></span>
      <span class="bar"></span>
      <span class="bar"></span>
    </div>
  </div>
</nav>

This structure includes:

How to create a responsive navigation bar in HTML
  • A logo link
  • An unordered list for navigation links
  • A mobile menu toggle (three-line "hamburger" icon)

2. Style with CSS (Flexbox + Media Queries)

Use CSS to style the navbar and make it responsive.

/* Reset and base styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

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

/* Navbar container */
.navbar {
  background-color: #333;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 50px;
}

.nav-logo {
  color: #fff;
  text-decoration: none;
  font-size: 2rem;
  font-weight: bold;
}

.nav-menu {
  display: flex;
  list-style: none;
  gap: 4rem;
}

.nav-link {
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  transition: color 0.3s ease;
}

.nav-link:hover {
  color: #00c853;
}

3. Mobile Responsiveness with Media Queries and JavaScript

On smaller screens, hide the menu by default and show a hamburger icon. Toggle visibility using JavaScript.

How to create a responsive navigation bar in HTML

Add mobile styles:

/* Mobile menu button */
.nav-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
}

.bar {
  width: 25px;
  height: 3px;
  background-color: #fff;
  margin: 3px 0;
  transition: 0.3s;
}

/* Mobile view */
@media (max-width: 768px) {
  .nav-menu {
    position: fixed;
    left: -100%;
    top: 80px;
    flex-direction: column;
    background-color: #333;
    width: 100%;
    text-align: center;
    transition: 0.3s;
    padding: 2rem;
    box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05);
  }

  .nav-menu.active {
    left: 0;
  }

  .nav-item {
    margin: 1.5rem 0;
  }

  .nav-toggle {
    display: flex;
  }
}

Add JavaScript for toggle functionality:

<script>
  const menu = document.getElementById('mobile-menu');
  const navMenu = document.querySelector('.nav-menu');

  menu.addEventListener('click', function () {
    navMenu.classList.toggle('active');
  });
</script>

When the hamburger icon is clicked, the .active class is toggled, which shifts the menu into view using CSS.


4. Extra Touches (Optional)

  • Smooth scrolling: Add smooth scroll behavior.
    html {
      scroll-behavior: smooth;
    }
  • Close menu on link click (mobile):
    document.querySelectorAll('.nav-link').forEach(link => {
      link.addEventListener('click', () => {
        navMenu.classList.remove('active');
      });
    });
  • Animated hamburger icon (optional rotation effect on click)

  • Final Notes

    • The key to responsiveness is using flexbox for layout and media queries to adapt at different screen sizes.
    • Always test on real devices or browser dev tools.
    • Keep accessibility in mind: use proper contrast, keyboard navigation, and ARIA labels if needed.

    That’s it — you now have a fully functional, responsive navigation bar using just HTML, CSS, and a bit of JavaScript.基本上就这些。

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1545
276
Rendu côté serveur avec next.js expliquée Rendu côté serveur avec next.js expliquée Jul 23, 2025 am 01:39 AM

Server-sideredering (ssr) innext.jsgenerateshtmlONTheServerForEachRequest, ImpromingPerformanceAndSeo.1.SSRISIDEALFORDYNYMICCONTENTTHATCHANGESSFREQUENDEM

Une plongée profonde dans WebAssembly (WASM) pour les développeurs frontaux Une plongée profonde dans WebAssembly (WASM) pour les développeurs frontaux Jul 27, 2025 am 12:32 AM

WebAssembly (WASM) isagame-changerforfront-enddeveloperseeekinghigh-performancewebapplications.1.wasmisabinaryinstructionFormatThatrunsatNear-Nativespeed, AmatingLanguagesLikerUst, C, etgotoexeteinthebrowser.2

Performance-First State Management avec Zustand Performance-First State Management avec Zustand Jul 25, 2025 am 04:32 AM

Zustandisalightweight, PerformantStateManAgmentSolutionForRECTAppsthatavoidSredux’sboilerplate; 1.UseselectaStaTingTopreventunneceSaryre-RederselectingonlyTheneedStateProperty; 2.Apply CreateWithEam

Quel est le but de l'attribut REL dans une balise de liaison dans HTML? Quel est le but de l'attribut REL dans une balise de liaison dans HTML? Aug 03, 2025 pm 04:50 PM

rel = "Stylesheet" linkSsssFilesForSTylingThepage; 2.rel = "Preload" HintstopreloadCriticalResourcesForPerformance; 3.rel = "icon" setthewebsite’sfaviCon; 4.rel = "alternate" fournit la réversion desstiètes; 5.rel = & Qu

Optimisation du temps de construction du frontend Optimisation du temps de construction du frontend Jul 23, 2025 am 03:37 AM

Le cœur de l'optimisation du temps de construction frontal consiste à réduire les travaux redondants, à améliorer l'efficacité du traitement, à utiliser les caches et à sélectionner des outils efficaces. 1. Utilisez raisonnablement le treehaking et la segmentation du code pour vous assurer qu'il est introduit à la demande et que l'importation dynamique réduit le volume d'emballage; 2. Réduire le traitement inutile du chargeur, exclure Node_modules, mettre à niveau les chargeurs et détendre la portée de la traduction de Babel; 3. Utilisez le mécanisme de mise en cache pour accélérer la construction répétée, activer le cache Webpack, le cache CI et utiliser une installation hors ligne; 4. Amélioration de la chaîne d'outils, comme l'utilisation de Vite, Esbuild ou Rollup pour améliorer la vitesse de construction, bien qu'il y ait un coût de migration, il a un effet significatif.

Comprendre et mettre en œuvre OAuth 2.0 sur le front-end Comprendre et mettre en œuvre OAuth 2.0 sur le front-end Jul 25, 2025 am 04:31 AM

Lorsque vous utilisez OAuth 2.0, le processus de code d'autorisation PKCE doit être adopté à la place du processus implicite, évitez de stocker des jetons dans LocalStorage à l'avant, la priorité est donnée au traitement des jetons de rafraîchissement à travers le dos et une intégration sécurisée est obtenue à l'aide d'une bibliothèque d'authentification de confiance pour garantir la sécurité des applications frontales.

Quel est le but de l'attribut cible de la balise d'ancrage dans HTML? Quel est le but de l'attribut cible de la balise d'ancrage dans HTML? Aug 02, 2025 pm 02:23 PM

ThetargetAttributeinanhtmlanchortagspecifieswheretoopenthelinkedDocument.1._setropensthelinkinthesametab (par défaut) .2._blankopensthelinkinanewtaborwindow.3._parentopensthelinkintheparentframe.

Bibliothèques de matériaux et composants angulaires Bibliothèques de matériaux et composants angulaires Jul 23, 2025 am 01:17 AM

Comment commencer avec AngularMaterial? Exécutez d'abord NGADD @ Angular / Material pour installer et configurer, deuxièmement, introduire des composants tels que MatbuttonModule au besoin, puis importer et utiliser des composants dans le module, et enfin ajouter des styles et des polices globales; Les avantages de la matériau angulaire comprennent un langage de conception unifié, des composants riches, une bonne documentation et un soutien communautaire et une forte personnalisation; D'autres alternatives incluent Ng-Zorro, Primeng, ClarityDesign et IonicForangular, et lors du choix, vous devriez considérer de manière globale en fonction des besoins du projet et de la familiarité de l'équipe.

See all articles