J'ai créé un menu personnalisé avec l'icône hamburger, mais sans Bootstrap - je ne veux pas utiliser Bootstrap. Le problème est que je voudrais utiliser un balisage simple pour accomplir cela, mais j'ai dû ajouter une navigation séparée que je montre/cache avec les requêtes média et je sais qu'il doit y avoir un meilleur moyen mais je ne suis pas sûr comment.Simplifiez mon balisage pour un menu personnalisé (No Bootstrap!)
Le modèle Bootstrap dispose d'un système de navigation distinct avec une classe de repli, mais ne devrais-je pas pouvoir le faire simplement en utilisant un nav?
Voici la JS Fiddle ce que j'ai jusqu'à présent: https://jsfiddle.net/zbu7ahmb/10/
Comme je le vois, je ne devrais pas avoir besoin de ce bien balisage pour accomplir ce que je veux. Je ne veux pas que cette barre de navigation effondrés menu:
<div id="header" class="inline-container max-width space-between">
<div>
<h1>LOGO</h1>
</div>
<nav class="menu inline-container">
<ul>
<li class="nav-btn">
<button id="my_btn" class="nav-link btn-link">Link 1</button>
<ul class="sub-menu">
<li class="section">Section 1</li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
<li class="section row">Section 2</li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
</ul>
</li>
<li class="nav-btn">
<button class="nav-link btn-link">Link 2</button>
<ul class="sub-menu">
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
</ul>
</li>
</ul>
</nav>
<nav class="menu-collapsed">
<div class="container nav-link" onclick="myFunction(this)">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div>
<ul class="sub-menu">
<li class="section"><h3>Link 1</h3></li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
<li class="section row"><h3>Link 2</h3></li>
<li>Section 1</li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
<li class="row">Section 2</li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
</ul>
</nav>
Ne devrais-je être en mesure d'utiliser simplement 1 barre de navigation comme ceci:
<div id="header" class="inline-container max-width space-between">
<div>
<h1>LOGO</h1>
</div>
<nav class="menu inline-container">
<ul>
<li class="nav-btn">
<button id="my_btn" class="nav-link btn-link">Link 1</button>
<ul class="sub-menu">
<li class="section">Section 1</li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
<li class="section row">Section 2</li>
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
</ul>
</li>
<li class="nav-btn">
<button class="nav-link btn-link">Link 2</button>
<ul class="sub-menu">
<li><a href="#">Sub link 1</a></li>
<li><a href="#">Sub link 2</a></li>
</ul>
</li>
</ul>
</nav>
Enfin , remarquez que je devais donner à mon "sous-menu affaibli par le menu" une largeur de 91% pour le faire s'étendre à travers ... mais c'est encore un peu éteint. Quelle est la meilleure façon de résoudre cela?
Vous avez des idées? Merci pour toute contribution!
vous ne pouvez en conserver qu'un seul, mais vous devez ajouter un tas de requêtes CSS pour changer le style de votre menu sur mobile. –
Dans votre violon, vous avez une navigation différente pour les résolutions mobiles par rapport aux résolutions plus grandes. Cherchez-vous une solution avec la même navigation? – scooterlord