How to Create Full Page Tabs with CSS and JavaScript

In today’s web development landscape, creating interactive and user-friendly interfaces is essential. One popular element that adds functionality and improves navigation on a web page is full-page tabs. Full-page tabs allow users to switch between different sections of a webpage without having to load separate pages. In this article, we will explore how to create full page tabs using CSS and JavaScript. So, let’s dive in!


Full-page tabs are an effective way to organize and present content within a single webpage. They provide a clean and intuitive interface that enhances user experience. By implementing full-page tabs, you can streamline navigation and present information in a more engaging manner.

HTML Structure

To create full-page tabs, we need to start by setting up the HTML structure. We will use the <ul> and <li> elements to create a navigation bar for the tabs. Each <li> element will represent a tab, and the content for each tab will be placed in separate <div> containers. Here’s an example of the HTML structure:

<ul class="tabs">
  <li><a href="#tab1">Tab 1</a></li>
  <li><a href="#tab2">Tab 2</a></li>
  <li><a href="#tab3">Tab 3</a></li>

<div id="tab1" class="tab-content">
  <!-- Content for Tab 1 -->

<div id="tab2" class="tab-content">
  <!-- Content for Tab 2 -->

<div id="tab3" class="tab-content">
  <!-- Content for Tab 3 -->

Styling with CSS

After setting up the HTML structure, we can style the full-page tabs using CSS. By applying appropriate styles, we can achieve the desired visual presentation. Here’s an example of CSS code to style the full-page tabs:

.tabs {
  list-style-type: none;
  margin: 0;
  padding: 0;

.tabs li {
  display: inline-block;
  margin-right: 10px;

.tabs li a {
  text-decoration: none;
  color: #000;
  padding: 8px 16px;
  border: 1px solid #ccc;

.tab-content {
  display: none;
} {
  display: block;

In the above CSS code, we define the styling for the tabs and the tab content. The .tabs class styles the <ul> element, while the .tab-content class styles the content containers. The .active class is used to display the active tab content.

Adding JavaScript Functionality

To make the full-page tabs interactive, we need to add JavaScript functionality. We will use JavaScript to handle tab clicks and toggle the visibility of tab content. Here’s an example of JavaScript code to accomplish this:

const tabs = document.querySelectorAll('.tabs li');
const tabContents = document.querySelectorAll('.tab-content');

tabs.forEach((tab, index) => {
  tab.addEventListener('click', () => {
    tabs.forEach((tab) => tab.classList.remove('active'));

    tabContents.forEach((content) => content.classList.remove('active'));

In the JavaScript code above, we select all the tabs and tab contents using querySelectorAll(). We then attach a click event listener to each tab. When a tab is clicked, we remove the active class from all tabs and tab contents, and then add the active class to the clicked tab and corresponding tab content.


In this article, we have explored how to create full-page tabs using CSS and JavaScript. By following the steps outlined, you can enhance the user experience on your web pages and present content in a more organized and engaging manner. Remember to customize the styles and functionality to suit your specific needs. Full-page tabs provide a versatile and effective solution for navigation within a single webpage.


Can I create more than three tabs using this method?

Absolutely! You can create as many tabs as you need by adding additional <li> elements and corresponding <div> containers in the HTML code.

Is it possible to style the tabs differently based on the active tab?

Yes, you can apply different styles to the active tab by using the .active class in your CSS code. This allows you to highlight the active tab and make it visually distinct from the rest.

Are there any CSS frameworks that provide pre-built full-page tab components?

Yes, several CSS frameworks like Bootstrap and Foundation offer pre-built components for creating full-page tabs. These frameworks provide a wide range of customizable options and can speed up your development process.

Can I add animations to the tab switching process?

Yes, you can incorporate animations by using CSS transitions or JavaScript libraries like jQuery. With animations, you can create smooth and visually appealing transitions when switching between tabs.

Is it necessary to use JavaScript for full-page tabs, or can I achieve the same functionality with CSS only?

While CSS alone can handle the visual styling of full-page tabs, JavaScript is needed to add interactivity and toggle the visibility of tab content. JavaScript allows you to create a dynamic user experience by responding to user clicks on the tabs.

Leave a Comment