
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
How to create full-page tabs with CSS and JavaScript?
In this article, we will discuss how to create full-page tabs with CSS and JavaScript.
Full-Page Tabs, like the name suggests, are tabs that are displayed on the entire page instead of a section.
To create a full page tab, you need to set the height of the page to 100%. You can do this using the height property, i.e. you need to create a CSS class, then set the height to 100vh and set this class as a style class of the individual tab elements those you need with full page length.
By creating full page tabs, we are making the navigation of the contents of a web page easier, you just need to click on the respective header to move to the desired page.
Steps to Create full-page Tabs
Following are the steps to create a tab header using JavaScript −
Define a function with three parameters name, element, and color.
Declare the variable tabcontent and assign it button by using class name through document.getElementByClassName to tabcontent variable.
Iterate the for loop and avoid the automatic display by using style property display to none.
Declare the tablinks variable and assign it buttons links, iterate the for loop and change the background color by using tablinks[i].style.backgroundColor.
At last call the name and element parameter and make, document.getElementById(name).style.color = "block" and elemnt.style.backgroundColor = color.
Example
Following is an example to create full-page tabs using CSS and JavaScript –
Example.html
In this example using the HTML code we have created 4 div elements for 4 different tabs and, we have created 4 buttons namely HTML, CSS, JS and React.
In each button we are writing a function for the onclick event which calls the respective div elements.
We are assigning the style tabcontent to all the div elements created.
<button class="tablink" onclick="langName('HTML', this, 'rgb(243, 122, 122)')" id="defaultOpen"> HTML </button> <button class="tablink" onclick="langName('CSS', this, 'rgb(198, 237, 107)')"> CSS </button> <button class="tablink" onclick="langName('JAVASCRIPT', this, 'rgb(51, 124, 249)')"> JS </button> <button class="tablink" onclick="langName('react', this, 'rgb(234, 215, 93)')">React</button> <div id="HTML" class="tabcontent"> <h1>HTML</h1> <p>This is <span> HTML</span></p> </div> <div id="CSS" class="tabcontent"> <h1>CSS</h1> <p>This is <span> CSS</span></p> </div> <div id="JAVASCRIPT" class="tabcontent"> <h1>JAVASCRIPT</h1> <p>This is <span> javascript </span></p> </div> <div id="react" class="tabcontent"> <h1>React</h1> <p>This is <span> Reactjs</span></p> </div>
Example.css
Using the CSS code we are styling the tabs with different background colors and adding hover effect to the head of the tabs.
In addition, we are creating a style named tabcontent where we are setting the height property value to 100vh.
<style> body { font-family: "Lato", sans-serif; } .tablink { background-color: rgba(0, 0, 0, 0.5); color: white; float: left; border: none; outline: none; cursor: pointer; padding: 14px 16px; font-size: 17px; width: 25%; } .tablink:hover { background-color: #777; } /* Style the tab content */ .tabcontent { color: white; display: none; padding: 50px; text-align: center; height: 100vh; } p { display: flex; position: absolute; text-align: center; align-items: center; top: 50%; left: 50%; transform: translate(-50%, -50%); font-weight: bold; font-family: Verdana, Geneva, Tahoma, sans-serif; color: black; background: white; padding: 15px; border-radius: 2px; } span { color: red; padding: 5px; } #HTML { background-color: rgb(243, 122, 122); } #CSS { background-color: rgb(198, 237, 107); } #JAVASCRIPT { background-color: rgb(51, 124, 249); } #react { background-color: rgb(234, 215, 93); } </style>
Example.js
In the JavaScript part we trying to switch between the tabs when the user clicks on the respective buttons.
<script> function langName(name, elmnt, color) { var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablink"); for (i = 0; i < tablinks.length; i++) { tablinks[i].style.backgroundColor = ""; } document.getElementById(name).style.display = "block"; elmnt.style.backgroundColor = color; } // Get the element with id="defaultOpen" and click on it document.getElementById("defaultOpen").click(); </script>
Complete Example
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body { font-family: "Lato", sans-serif; } .tablink { background-color: rgba(0, 0, 0, 0.5); color: white; float: left; border: none; outline: none; cursor: pointer; padding: 14px 16px; font-size: 17px; width: 25%; } .tablink:hover { background-color: #777; } /* Style the tab content */ .tabcontent { color: white; display: none; padding: 50px; text-align: center; height: 100vh; } p { display: flex; position: absolute; text-align: center; align-items: center; top: 50%; left: 50%; transform: translate(-50%, -50%); font-weight: bold; font-family: Verdana, Geneva, Tahoma, sans-serif; color: black; background: white; padding: 15px; border-radius: 2px; } span { color: red; padding: 5px; } #HTML { background-color: rgb(243, 122, 122); } #CSS { background-color: rgb(198, 237, 107); } #JAVASCRIPT { background-color: rgb(51, 124, 249); } #react { background-color: rgb(234, 215, 93); } </style> </head> <body> <button class="tablink" onclick="langName('HTML', this, 'rgb(243, 122, 122)')" id="defaultOpen"> HTML </button> <button class="tablink" onclick="langName('CSS', this, 'rgb(198, 237, 107)')"> CSS </button> <button class="tablink" onclick="langName('JAVASCRIPT', this, 'rgb(51, 124, 249)')"> JS </button> <button class="tablink" onclick="langName('react', this, 'rgb(234, 215, 93)')">React</button> <div id="HTML" class="tabcontent"> <h1>HTML</h1> <p>This is <span> HTML</span></p> </div> <div id="CSS" class="tabcontent"> <h1>CSS</h1> <p>This is <span> CSS</span></p> </div> <div id="JAVASCRIPT" class="tabcontent"> <h1>JAVASCRIPT</h1> <p>This is <span> javascript </span></p> </div> <div id="react" class="tabcontent"> <h1>React</h1> <p>This is <span> Reactjs</span></p> </div> <script> function langName(name, elmnt, color) { var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablink"); for (i = 0; i < tablinks.length; i++) { tablinks[i].style.backgroundColor = ""; } document.getElementById(name).style.display = "block"; elmnt.style.backgroundColor = color; } // Get the element with id="defaultOpen" and click on it document.getElementById("defaultOpen").click(); </script> </body> </html>
- Related Articles
- How to create tabs with CSS and JavaScript?
- How to create a full-page background image with CSS?
- How to create a "coming soon page" with CSS and JavaScript?
- How to create a full screen search box with CSS and JavaScript?
- How to change tabs on hover with CSS and JavaScript?
- How to create a full screen overlay navigation menu with CSS and JavaScript?
- How to Create Horizontal and Vertical Tabs using JavaScript?
- How to create a full screen video background with CSS?
- How to create responsive "Meet The Team" page with CSS?
- How to create popups with CSS and JavaScript?
- How to create tab headers with CSS and JavaScript?
- Creating a Full Height Page with Fixed Sidebar and Scrollable Content Area in CSS
- How to create an about / about us page for website with CSS?
- How to create a responsive slideshow with CSS and JavaScript?
- How to create responsive Modal Images with CSS and JavaScript?
