Tabs Miniproject
Frontend Club
2 min read
Aprende a crear pestañas sencillas, usando HTML, CSS, y JavaScript.
Ejemplo:
Marcado HTML
<div class="tab">
<button class="tablinks" onclick="openCity(event, 'Sucre')" id="defaultOpen">Sucre</button>
<button class="tablinks" onclick="openCity(event, 'Lima')">Lima</button>
<button class="tablinks" onclick="openCity(event, 'Bogota')">Bogotá</button>
</div>
<div id="Sucre" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
<h3>Sucre</h3>
<p>Sucre es la ciudad capital de Bolivia.</p>
</div>
<div id="Lima" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
<h3>Lima</h3>
<p>Lima es la ciudad capital de Perú.</p>
</div>
<div id="Bogota" class="tabcontent">
<span onclick="this.parentElement.style.display='none'" class="topright">×</span>
<h3>Bogotá</h3>
<p>Bogotá es la ciudad capital de Colombia.</p>
</div>
Estilos CSS
/* Estilos del tab */
.tab {
overflow: hidden;
border: 1px solid #ccc;
background-color: #f1f1f1;
}
/* Estilos del botón dentro del tab */
.tab button {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: 0.3s;
font-size: 17px;
}
/* Cambia color de fondo del botón con hover */
.tab button:hover {
background-color: #ddd;
}
/* Crea una clase tablink active/current */
.tab button.active {
background-color: #ccc;
}
/* Estilos contenido del tab */
.tabcontent {
display: none;
padding: 6px 12px;
border: 1px solid #ccc;
border-top: none;
}
/* Estilos botón cerrar */
.topright {
float: right;
cursor: pointer;
font-size: 28px;
}
.topright:hover {
color: red;
}
Código JavaScript
function openCity(evt, cityName) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " active";
}
document.getElementById("defaultOpen").click();
Referencias
El contenido de este artículo es una inspiración y traducción de:
"La mejor manera de aprender a programar es practicando todos los días"
0
Subscribe to my newsletter
Read articles from Frontend Club directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Frontend Club
Frontend Club
La mejor manera de aprender a programar es practicando todos los días.