Responsive Navigation Bar With Submenu Dropdown In Hover | Bootstrap Navbar Menu on Hover
Table of Contents
Introduction
In this tutorial, you will learn how to create a responsive navigation bar with a submenu dropdown that appears on hover. This tutorial utilizes HTML, CSS, jQuery, and the Bootstrap framework. By following these steps, you can enhance your website's navigation experience.
Step 1: Set Up Your HTML Structure
Begin by creating the basic HTML structure for your navigation bar.
-
Create a new HTML file and include the Bootstrap CSS and jQuery libraries in the head section:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <title>Responsive Navbar</title> </head> <body> -
Add the navigation bar structure within the body section:
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Brand</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> </ul> </div> </nav> -
Close the HTML tags:
</body> </html>
Step 2: Style the Navigation Bar
Next, you'll add custom CSS to enhance the appearance of the navigation bar and its dropdown.
-
Create a CSS file and link it in the HTML:
<link rel="stylesheet" href="styles.css"> -
Add CSS styles for the navbar and dropdown in your
styles.cssfile:.navbar-nav .dropdown-menu { display: none; /* Hide dropdown by default */ } .navbar-nav .dropdown:hover .dropdown-menu { display: block; /* Show dropdown on hover */ }
Step 3: Add jQuery for Smooth Interaction
To enhance user experience, we will implement jQuery for handling hover events.
-
Include jQuery in your HTML (if not done already):
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> -
Add jQuery code to manage the dropdown behavior:
<script> $(document).ready(function(){ $('.dropdown').hover(function(){ $(this).find('.dropdown-menu').stop(true, true).slideDown(200); }, function(){ $(this).find('.dropdown-menu').stop(true, true).slideUp(200); }); }); </script>
Step 4: Test the Navigation Bar
Now, open your HTML file in a web browser to test the functionality of the navigation bar.
- Hover over the "Dropdown" link to see the submenu appear smoothly.
- Check responsiveness by resizing the browser window or using developer tools.
Conclusion
You have successfully created a responsive navigation bar with a submenu dropdown that appears on hover. This navigation bar can be easily customized and integrated into your web projects.
Key Takeaways
- Understand how to structure HTML for a Bootstrap navbar.
- Apply CSS to control the visibility of dropdown menus.
- Use jQuery to enhance interactivity with hover effects.
You can now explore further customizations or additional features, such as animations or more complex menus, to enhance your site's navigation experience.