Cómo crear: Pestañas

Aprende a usar CSS y JavaScript para crear pestañas seleccionables.

Pestañas

Las pestañas son muy adecuadas para aplicaciones web de una página o páginas que pueden mostrar diferentes temas:

Londres

Londres es la ciudad capital de Inglaterra.

París

París es la capital de Francia.

Tokyo

Tokyo es la capital de Japón.

Prueba personalmente

Crear pestañas deslizantes

Paso 1 - Añadir HTML:

<!-- Enlaces de páginas de etiquetas -->
<div class="tab">
  <button class="tablinks" onclick="openCity(event, 'London')">Londres</button>
  <button class="tablinks" onclick="openCity(event, 'Paris')">París</button>
  <button class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</button>
</div>
<!-- Páginas de etiquetas de contenido -->
<div id="London" class="tabcontent">
  <h3>London</h3>
  <p>London is the capital city of England.</p>
</div>
<div id="Paris" class="tabcontent">
  <h3>París</h3>
  <p>París es la capital de Francia.</p>
</div>
<div id="Tokyo" class="tabcontent">
  <h3>Tokyo</h3>
  <p>Tokyo es la capital de Japón.</p>
</div>

Crear botones para abrir el contenido de la pestaña específica. Todos los elementos con class="tabcontent" de <div> Los elementos están ocultos por defecto (a través de CSS y JS). Cuando el usuario hace clic en un botón, se abrirá el contenido de la pestaña "compatible" con ese botón.

Segundo - Añadir CSS:

Establecer los estilos de los botones y el contenido de la pestaña:

/* Establecer el estilo de la pestaña */
.tab {
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
}
/* Establecer el estilo del botón utilizado para abrir el contenido de la pestaña */
.tab button {
  background-color: inherit;
  float: left;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 14px 16px;
  transition: 0.3s;
}
/* Cambiar el color de fondo del botón al pasar el ratón */
.tab button:hover {
  background-color: #ddd;
}
/* Crear la clase de enlace de pestaña activa/actual */
.tab button.active {
  background-color: #ccc;
}
/* Establecer el estilo de contenido de la pestaña */
.tabcontent {
  display: none;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-top: none;
}

Tercero - Añadir JavaScript:

function openCity(evt, cityName) {
  // Declarar todas las variables
  var i, tabcontent, tablinks;
  // Obtener todos los elementos con class="tabcontent" y ocultarlos
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  // Obtener todos los elementos con class="tablinks" y eliminar la clase "active"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  // Mostrar la pestaña actual y agregar la clase "active" al botón que abrió la pestaña
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.className += " active";
}

Prueba personalmente

Desvanecer pestaña

Para hacer que los contenidos de la pestaña se desvanezcan, agregue el siguiente CSS:

.tabcontent {
  animation: fadeEffect 1s; /* Efecto de transición de opacidad durante 1 segundo */
}
/* Transición de opacidad cero a opacidad completa */
@keyframes fadeEffect {
  from {opacity: 0;}
  to {opacity: 1;}
}

Prueba personalmente

Mostrar pestaña predeterminada

Para abrir una pestaña específica al cargar la página, utilice JavaScript para hacer clic en el botón de la pestaña especificado:

<button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">London</button>
<script>
// Obtener el elemento con id="defaultOpen" y hacer clic en él
document.getElementById("defaultOpen").click();
</script>

Prueba personalmente

Cerrar pestaña

Si desea cerrar una pestaña específica, utilice JavaScript haciendo clic en el botón para ocultar la pestaña:

<!-- 单击 <span> 元素来关闭标签页 -->
<div id="London" class="tabcontent">
  <h3>London</h3>
  <p>London is the capital city of England.</p>
  <span onclick="this.parentElement.style.display='none'">x</span>
</div>

Prueba personalmente

Páginas relacionadas

Tutoriales:¿Cómo se crea: pestaña vertical