How to create a simple navbar with Tailwind CSS in Next.js

Tailwind CSS is a utility-first CSS framework that offers a different approach to styling web applications. Tailwind focuses on providing low-level utility classesLow-level utility classes are foundational components in software systems, offering basic functionalities like string manipulation or file I/O to facilitate common tasks across applications. that we can combine to create custom designs.

Expected output

We’ll create a simple nav bar using Tailwind CSS and Next.js. Before starting, let’s look at the output to better understand the task at hand.

A step-by-step guide

To render the navbar output, we utilize Next.js. It is a JavaScript framework used with React for building web applications. It offers server-side rendering (SSR), which means content is stored on the server and delivered to users faster, resulting in a fully rendered website that’s interactive and user-friendly.

Step 1: Create a new Next app

To create the project in Next.js, use the following commands:

// step 1
npx create-next-app your-project-name
// step 2
cd your-project-name
// step 3
npm i && npm run dev
  • Line 2: Replace your-project-name with the desired name for project. This command will create a new Next.js project in a directory with the specified name.

  • Line 3: Navigate into the project directory.

  • Line 6: Install the required packages and start the development server.

No need to worry about creating the project; we're prepared to build it for you.

Step 2: Create a navbar using Tailwind CSS

A navbar is crucial in any web application or site, providing navigation and accessibility to various sections. Tailwind CSS, known for its utility-first approach, simplifies the creation of intuitive and stylish components. Before getting started, ensure that Tailwind CSS is installed in the project.

If Tailwind CSS is not installed already, visit How to install Tailwind CSS for installation.

Here is a simple design for a navbar using Tailwind CSS:

// HTML Structure
<div>
<nav className="bg-gray-800 py-4">
<div className="max-w-7xl mx-auto px-4 flex justify-between items-center">
<div className="flex items-center">
<img src="/educative.svg" alt="Logo" className="h-8 mr-2" />
<span className="text-white text-lg font-semibold">educative</span>
</div>
<div className="hidden md:block">
<a href="#" className="text-gray-300 mx-4 hover:text-white">Home</a>
<a href="#" className="text-gray-300 mx-4 hover:text-white">About</a>
<a href="#" className="text-gray-300 mx-4 hover:text-white">Services</a>
<a href="#" className="text-gray-300 mx-4 hover:text-white">Contact</a>
</div>
</div>
</nav>
</div>

Tailwind CSS offers a variety of built-in classes for styling, including options like bg-gray-800, max-w-7xl, etc.

Explanation

  • Line 2: Sets the background color to a dark shade of gray and adds padding on the y-axis using py-4.

  • Line 3: Sets a maximum width and centers the content using max-w-7xl and mx-auto.

  • Line 5: Aligns the elements within the navbar using flexand items-center.

  • Lines 6–7: Includes an image of the educative logo alongside the educative name.

  • Lines 9–14: Defines text colors and margins using text-gray-300 and mx-4.The hover:text-white class changes text color on hover.

Code

Below is a sample project application that encapsulates all the steps we have gone through above.

/** @type {import('next').NextConfig} */
const nextConfig = {}

module.exports = nextConfig
Navbar implementation

Overall, this code constructs a straightforward and responsive navigation bar for a website, applying Tailwind CSS classes to achieve a neat and visually appealing design.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved