Tab Headers

Tab Headers

Crea pestañas con encabezados, usando HTML, CSS y JavaScript.

Ejemplo:

Marcado HTML

<div id="Lima" class="tabcontent">
    <h1>Lima</h1>
    <p>Lima es la ciudad capital de Perú.</p>
</div>

<div id="Caracas" class="tabcontent">
    <h1>Caracas</h1>
    <p>Caracas es la ciudad capital de Venezuela.</p>
</div>

<div id="Quito" class="tabcontent">
    <h1>Quito</h1>
    <p>Quito es la ciudad capital de Ecuador.</p>
</div>

<div id="Asuncion" class="tabcontent">
    <h1>Asunción</h1>
    <p>Asunción es la ciudad capital de Paraguay.</p>
</div>

<button class="tablink" onclick="openCity('Lima', this, 'red')" id="defaultOpen">Lima</button>
<button class="tablink" onclick="openCity('Caracas', this, 'green')">Caracas</button>
<button class="tablink" onclick="openCity('Quito', this, 'blue')">Quito</button>
<button class="tablink" onclick="openCity('Asuncion', this, 'orange')">Asunción</button>

Estilos CSS

.tablink {
    background-color: #555;
    color: white;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    font-size: 17px;
    width: 25%;
}

.tablink:hover {
    background-color: #777;
}

/* Estilos contenido tab */
.tabcontent {
    color: white;
    display: none;
    padding: 50px;
    text-align: center;
}

#Lima {
    background-color: red;
}
#Caracas {
    background-color: green;
}
#Quito {
    background-color: blue;
}
#Asuncion {
    background-color: orange;
}

Código JavaScript

function openCity(cityName, 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(cityName).style.display = "block";
    elmnt.style.backgroundColor = color;
}
document.getElementById("defaultOpen").click();

Referencias

El contenido de este artículo es inspiración y traducción de:


"La mejor manera de aprender a programar es practicando todos los días"