Tabs are generally used to break content into multiple sections that can be swapped to save space. The tabs effect displays a single content area with multiple panels (sections), each associated with a header (or tab) in a list.
- This effect is created only with CSS and HTML, without JavaScript.

Code (click to select):
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Example Tabs with CSS</title>
<style type="text/css">
/* Tabs effect with CSS - http://coursesweb.net/css/ */
.tabs {
 position: relative;
 width: 80%;
 min-height: 350px;
 margin: 1.2em auto 1em auto;
}
.tabs .tab {
 display: inline-block;
 margin: 0 -1px;
}
.tabs .tab label {
 position: relative;
 margin: 0;
 background: #dadada;
 border: 1px solid #ccc;
 border-bottom: none;
 -moz-border-radius:.5em;
 -webkit-border-radius:.5em;
 -khtml-border-radius:.5em;
 border-radius:.5em;
 padding: .5em .6em;
 font-weight: 700;
 cursor: pointer;
}
.tabs .tab [type=radio] {
 display: none;
}
.tabs .tab [type=radio]:checked ~ label {
 background: #d8fbda;
 border-bottom: 1px solid white;
 text-decoration: underline;
}
.tabs .tab [type=radio]:checked ~ label ~ .content {
 display: block;
}
.tabs .tab .content {
 display:none;
 position: absolute;
 top: 1.7em;
 left: 0;
 right: 0;
 background: #fdfdee;
 border: 1px solid #ccc;
 padding: .3em .8em;
}
/* END Tabs effect */
</style>
</head>
<body>

<div class="tabs">
 <div class="tab">
 <input type="radio" id="tab-1" name="tab-group-1" checked />
 <label for="tab-1">Tab-1</label>
 <div class="content">
 <p>Content in Tab 1.<br/>
 Link: <a href="http://coursesweb.net/" title="Web Programming and Development">CoursesWeb.net</a></p>
 </div>
 </div>
 
 <div class="tab">
 <input type="radio" id="tab-2" name="tab-group-1" />
 <label for="tab-2">Tab-2</label>
 <div class="content">
 <p>Text and link in Tab 2.<br/>
 Free <a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a>.</p>
 </div>
 </div>
 
 <div class="tab">
 <input type="radio" id="tab-3" name="tab-group-1" />
 <label for="tab-3">Tab-3</label>
 <div class="content">
 <p>Content in Tab 3.<br/>
 Play <a href="http://coursesweb.net/games/" title="Flash Games"><img src="http://coursesweb.net/addons/css/thumb5_image.jpg" alt="Flash Games" width="183" height="123" /></a></p>
 </div>
 </div>
 
 <div class="tab">
 <input type="radio" id="tab-4" name="tab-group-1" />
 <label for="tab-4">Tab-4</label>
 <div class="content">
 <div>Content in Tab 4.<br/><h4>Tabs effect with CSS</h4></div>
 </div>
 </div>
 
 <div class="tab">
 <input type="radio" id="tab-5" name="tab-group-1" />
 <label for="tab-5">Tab-5</label>
 <div class="content">
 <p>Other piece of HTML, images, text, etc., in Tab 5.<br/>Other line...</p>
 </div>
 </div> 
</div>
</body>
</html>
Demo:

Content in Tab 1.
Link: CoursesWeb.net

Text and link in Tab 2.
Free CSS Course.

Content in Tab 3.
Play Flash Games

Content in Tab 4.

Tabs effect with CSS

Other piece of HTML, images, text, etc., in Tab 5.
Other line...

- The technique is simple, the content is positioned "absolute" and it is initialy hidden. There are used radio type buttons with label tag associated to each button. The radio buttons are hidden, but when the associated label is clicked, that radio is checked, event that can be detected in css (with: " .tab [type=radio]:checked "), and the content from that tab (label element) it is displayed (with: " .tab [type=radio]:checked ~ label ~ .content { display: block; } ").

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag is used to include external CSS file in web page?
<body> <script> <link>
<link href="/templ/style.css" rel="stylesheet" type="text/css" />
Which CSS property sets the text size?
font-weight text-decoration font-size
h2 {
  font-size: 1em;
}
Indicate the JavaScript property that can add HTML code into an element.
text value innerHTML
document.getElementById("someID").innerHTML = "HTML content";
Click on the function that returns the number of characters of a string in PHP.
count() strlen() stristr()
$str = "http://CoursesWeb.net/";
$nr_chr = strlen($str);
echo $nr_chr;       // 22
Tabs effect with CSS

Last accessed pages

  1. PHP PDO - exec (INSERT, UPDATE, DELETE) MySQL (40961)
  2. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (69097)
  3. Get Time Elapsed (971)
  4. PHP Code Snippets (4384)
  5. jQuery background position (2940)

Popular pages this month

  1. Flash Games - Free online Games (2254)
  2. Qwop (1667)
  3. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (1498)
  4. Tunnel Rush (1348)
  5. Drag Racer V3 (1092)