CSS: Tabbed Menu

By Xah Lee. Date: . Last updated: .

This page shows you how to implement Tabbed Menu using CSS.

Click on the tab on top of this page. You can see that pages get switched and the corresponding tab gets highlighted.

Let's say you want a tab menu for 3 pages: A, B, C.

Put this into the top of page A:

<ul class="tabsmenu95 active-tab-a">
<li class="tab-a"><a href="css_tabs_a.html">Tab A</a></li>
<li class="tab-b"><a href="css_tabs_b.html">Tab B</a></li>
<li class="tab-c"><a href="css_tabs_c.html">Tab C</a></li>
</ul>

Put this into the top of page B:

<ul class="tabsmenu95 active-tab-b">
<li class="tab-a"><a href="css_tabs_a.html">Tab A</a></li>
<li class="tab-b"><a href="css_tabs_b.html">Tab B</a></li>
<li class="tab-c"><a href="css_tabs_c.html">Tab C</a></li>
</ul>

Put this into the top of page C:

<ul class="tabsmenu95 active-tab-c">
<li class="tab-a"><a href="css_tabs_a.html">Tab A</a></li>
<li class="tab-b"><a href="css_tabs_b.html">Tab B</a></li>
<li class="tab-c"><a href="css_tabs_c.html">Tab C</a></li>
</ul>

Here is the CSS code for all the pages:

ul.tabsmenu95 {
list-style:none;
margin:16px;
padding-bottom:3px;
border-bottom:6px solid red;
width: 70vw;
}

ul.tabsmenu95 li {
display:inline;
width:100px;
height:20px;
padding:9px;
margin:3px;
text-align:center;
border-top-left-radius:8px;
border-top-right-radius:8px;
}

ul.tabsmenu95 a:link {
text-decoration:none;
color:black;
}

ul.tabsmenu95 a:visited {
text-decoration:none;
color:black;
}

li.tab-a , li.tab-b , li.tab-c {
background-color:silver;
}

ul.active-tab-a li.tab-a ,
ul.active-tab-b li.tab-b ,
ul.active-tab-c li.tab-c {
background-color:red;
padding-bottom: 9px;
}