Hello friends, welcome back to my blog. Today in this blog post, I am going to show you, Reactjs Bootstrap 5 Megamenu Working Example.
Guys please watch below video to check how to add bootstrap 5 in reactjs application?:
For reactjs new comers, please check the below link:
Friends now I proceed onwards and here is the working code snippet and please use this carefully to avoid the mistakes:
1. Firstly, we need fresh reactjs setup and for that, we need to run below commands into out terminal and also we should have latest node version installed on our system:
npx create-react-app reactboot5 cd reactboot5
2. Now we need to run below commands into our project terminal to get bootstrap and related modules into our reactjs application:
npm install bootstrap --save npm i @popperjs/core npm start //For start project again
3. Finally for the main output, we need to add below code into our reactboot5/src/App.js file or if you have fresh setup then you can replace reactboot5/src/App.js file code with below code:
//importing bootstrap 5 css import 'bootstrap/dist/css/bootstrap.min.css'; import 'bootstrap/dist/js/bootstrap.min.js'; import './App.css'; function App() { return ( <div className="APP"> <nav className="navbar navbar-expand-lg navbar-light bg-white py-3 shadow-sm"> <div className="container-fluid"> <a href="#" className="navbar-brand font-weight-bold d-block d-lg-none">MegaMenu</a> <button className="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span className="navbar-toggler-icon"></span> </button> <div id="navbarSupportedContent" className="collapse navbar-collapse"> <ul className="navbar-nav mx-auto"> <li className="nav-item dropdown megamenu"><a id="megamneu" href="#" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false" className="nav-link dropdown-toggle font-weight-bold text-uppercase dropdown-toggle">Mega Menu</a> <div aria-labelledby="dropdownMenuButton1" className="dropdown-menu border-0 p-0 m-0"> <div className="container"> <div className="row bg-white rounded-0 m-0 shadow-sm"> <div className="col-lg-7 col-xl-8"> <div className="p-4"> <div className="row"> <div className="col-lg-6 mb-4"> <h6 className="font-weight-bold text-uppercase">MegaMenu heading</h6> <ul className="list-unstyled"> <li className="nav-item"><a href="" className="nav-link text-small pb-0">Unique Features</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Image Responsive</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Auto Carousel</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Newsletter Form</a></li> </ul> </div> <div className="col-lg-6 mb-4"> <h6 className="font-weight-bold text-uppercase">MegaMenu heading</h6> <ul className="list-unstyled"> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Unique Features</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Image Responsive</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Auto Carousel</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Newsletter Form</a></li> </ul> </div> <div className="col-lg-6 mb-4"> <h6 className="font-weight-bold text-uppercase">MegaMenu heading</h6> <ul className="list-unstyled"> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Unique Features</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Image Responsive</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Auto Carousel</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Newsletter Form</a></li> </ul> </div> <div className="col-lg-6 mb-4"> <h6 className="font-weight-bold text-uppercase">MegaMenu heading</h6> <ul className="list-unstyled"> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Unique Features</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Image Responsive</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Auto Carousel</a></li> <li className="nav-item"><a href="" className="nav-link text-small pb-0 ">Newsletter Form</a></li> </ul> </div> </div> </div> </div> <div class="col-lg-5 col-xl-4 px-0 d-none d-lg-block megaimaga"></div> </div> </div> </div> </li> <li className="nav-item"><a href="" className="nav-link font-weight-bold text-uppercase">About</a></li> <li className="nav-item"><a href="" className="nav-link font-weight-bold text-uppercase">Services</a></li> <li className="nav-item"><a href="" className="nav-link font-weight-bold text-uppercase">Contact</a></li> </ul> </div> </div> </nav> <section className="py-5 text-white"> <div className="container py-4"> <div className="row"> <div className="col-lg-8 mx-auto text-center"> <h1 className="display-4">Reactjs Bootstrap 5 megamenu</h1> <p className="lead mb-0">A very simple way to create Reactjs Bootstrap 5 megamneu. </p> <p className="lead">Snippet by <a href="https://therichpost.com/" className='text-white'><u>Therichpost</u></a>. </p> </div> </div> <div className="row pt-5"> <div className="col-lg-10 mx-auto"> <p className="lead">Use the default Bootstrap's dropdown menu to hold your megamneu.</p> <p className="lead">Set the <code>.dropdown</code> position to <code>static</code> instead of <code>absolute</code>.</p> <p className="lead">We use the className <code>.megamenu</code> to hold this <code>static</code> position.</p> </div> </div> </div> </section> </div> ); } export default App;
4. Finally for the main output, we need to add below code into our reactboot5/src/App.css file:
/* * * ========================================== * CUSTOM UTIL CLASSES * ========================================== * */ .megamenu { position: static; } .megamenu .dropdown-menu { background: none; border: none; width: 100%; } /* * * ========================================== * FOR DEMO PURPOSES * ========================================== * */ .APP { background: #eaafc8; background: -webkit-linear-gradient(to right, #eaafc8, #654ea3); background: linear-gradient(to right, #eaafc8, #654ea3); min-height: 100vh; } code { color: #745eb1; background: #fff; padding: 0.1rem 0.2rem; border-radius: 0.2rem; } .text-uppercase { letter-spacing: 0.08em; } .megaimaga { background: center center url("https://therichpost.com/wp-content/uploads/2021/11/mega.png")no-repeat; background-size: cover; }
Now we are done friends. If you have any kind of query or suggestion or any requirement then feel free to comment below.
Note: Friends, I just tell the basic setup and things, you can change the code according to your requirements.
I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad.
Jassa
Thanks
Recent Comments