En este artículo, veremos cómo podemos crear un elemento colapsado usando clases de Bootstrap y también veremos sus diferentes propiedades, además de comprender su implementación a través del ejemplo.
Elemento de colapso Bootstrap:
Los elementos colapsables son aquellos elementos que muestran datos al usuario cuando el usuario hace clic o se desplaza sobre ellos. Es un enfoque moderno que nos ayuda a mostrar una gran cantidad de datos al usuario. Mantiene el sitio web ordenado y se cierra o colapsa nuevamente cuando el usuario se desplaza o hace clic fuera de él. Podemos crear nuestro propio elemento colapsable utilizando HTML, CSS y JavaScript básicos. Pero Bootstrap facilita la propiedad del elemento colapsado en sus componentes.
Funcionamiento del elemento de colapso de Bootstrap :
El colapso de Bootstrap se usa para mostrar u ocultar contenido. Los botones o anclas se utilizan para activar la solicitud y se asignan al elemento específico que debe contraerse. En Bootstrap, el elemento colapsado anima la altura del elemento desde su altura actual hasta 0.
Las clases utilizadas para colapsar el elemento:
- .collapse: esta clase oculta el contenido.
- .collapsing: Esta clase se usa durante la transición.
- .collapse-show: esta clase muestra el contenido.
Consulte el artículo Bootstrap 4 Collapse para obtener más detalles.
Generalmente, el elemento colapsado se hace usando el botón. Aquí, usaremos un botón para mostrar el funcionamiento del elemento plegable.
Sintaxis:
<button type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample">Button </button>
Los dos atributos que se utilizan con el botón se indican a continuación:
- data-bs-target: este atributo contiene la identificación del elemento que se necesita ocultar o mostrar al hacer clic en un botón.
- data-bs-toggle: este atributo siempre se establece en «contraer».
En el siguiente ejemplo, podemos ver que se proporciona un botón con los atributos «data-bs-toggle» configurados en «collapse» y «data-bs-target» con el valor establecido en «#collapseExample», es decir, la identificación del elemento div que debe hacerse plegable. Al «div» se le da la clase «colapso» para hacerlo colapsable.
Ejemplo : este ejemplo describe el elemento colapsado.
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href= "https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity= "sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"> <script src= "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity= "sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"> </script> <title>Document</title> </head> <body> <h1 class=text-success>GeeksforGeeks</h1> <p> <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"> Button of Collapsing Element </button> </p> <div class="collapse" id="collapseExample"> <div class="card card-body"> This text is shown when the above button is clicked and hides when user clicks on it again. </div> </div> </body> </html>
Producción:
Elemento de colapso horizontal:
También podemos hacer elementos colapsables horizontales. Aquí, en lugar de vertical, el elemento colapsará horizontalmente. Para hacer un elemento colapsable horizontalmente, necesitamos agregar la clase “collapse-horizontal” al elemento que se colapsará. Necesitamos que se mencione el ancho del elemento secundario, ya sea usando el CSS en línea o usando solo las utilidades de ancho.
Sintaxis:
<div class="collapse collapse-horizontal"></div>
Ejemplo : este ejemplo describe el elemento de contracción horizontal.
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href= "https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity= "sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"> <script src= "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity= "sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"> </script> <title>Document</title> </head> <body> <h1 class=text-success>GeeksforGeeks</h1> <p> <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample"> Button of Collapsing Element </button> </p> <div> <div class="collapse collapse-horizontal" id="collapseExample"> <div class="card card-body" style="width: 500px;"> This text is shown when the above button is clicked and hides when user clicks on it again. </div> </div> </div> </body> </html>
Producción:
Múltiple plegable:
También podemos hacer un solo botón para controlar varios elementos plegables a la vez. La idea es muy simple, aquí tenemos que crear varios elementos con el mismo nombre de clase y agregar ese nombre de clase al «objetivo de base de datos».
Nota : Usamos el nombre de la clase aquí, no la identificación porque la identificación es única para cada elemento en HTML.
Sintaxis:
<div class="collapse multi-collapse"></div>
Ejemplo : este ejemplo describe el elemento plegable múltiple.
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href= "https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity= "sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"> <script src= "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity= "sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"> </script> <title>Document</title> </head> <body> <h1 class=text-success>GeeksforGeeks</h1> <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2"> Toggle both elements </button> <div class="row"> <div class="col"> <div class="collapse multi-collapse" id="multiCollapseExample1"> <div class="card card-body"> This text is shown when the above button is clicked and hides when user clicks on it again. </div> </div> </div> <div class="col"> <div class="collapse multi-collapse" id="multiCollapseExample2"> <div class="card card-body"> This text is shown when the above button is clicked and hides when user clicks on it again. </div> </div> </div> </div> </body> </html>
Producción:
En el código anterior, el atributo «data-bs-target» del botón recibe el valor del nombre de clase «.collapse» y, por lo tanto, el botón ahora funciona en ambos elementos contraíbles a la vez.
Nota : También podemos hacer que los elementos anteriores muestren contenido individualmente asignándolos a botones separados usando su «id».
Navegador compatible:
- Google Chrome
- Borde de Microsoft
- Internet Explorer 10+
- Ópera
- Safari
- Firefox
Publicación traducida automáticamente
Artículo escrito por saikatmohanta43434 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA