Cómo crear: vista de lista y cuadrícula

Cómo crear una vista de lista y cuadrícula.

Haga clic en el botón para seleccionar la vista de lista o de cuadrícula.

Columna 1

Algunos textos...

Columna 2

Algunos textos...

Columna 3

Algunos textos...

Columna 4

Algunos textos...

Vista de lista y cuadrícula

Paso 1 - Añadir HTML:

Comentarios de carga de la biblioteca de iconos Font Awesome
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
Botón utilizado para seleccionar la vista de lista o de cuadrícula
<button onclick="listView()"><i class="fa fa-bars"></i> Lista</button>
<button onclick="gridView()"><i class="fa fa-th-large"></i> Cuadrícula</button>
<div class="row">
  <div class="column" style="background-color:#aaa;">
    <h2>Columna 1</h2>
    <p>Alguno texto...</p>
  </div>
  <div class="column" style="background-color:#bbb;">
    <h2>Columna 2</h2>
    <p>Alguno texto...</p>
  </div>
</div>
<div class="row">
  <div class="column" style="background-color:#ccc;">
    <h2>Columna 3</h2>
    <p>Alguno texto...</p>
  </div>
  <div class="column" style="background-color:#ddd;">
    <h2>Columna 4</h2>
    <p>Alguno texto...</p>
  </div>
</div>

Segundo - Añadir CSS:

/* Crea dos columnas iguales que floten juntas */
.column {
  float: left;
  width: 50%;
  padding: 10px;
}
/* Eliminar el desbordamiento después de las columnas */
.row:after {
  content: "";
  display: table;
  clear: both;
}

Tercero - Añadir JavaScript:

// Obtiene los elementos con la clase "column"
var elements = document.getElementsByClassName("column");
// Declaración de una variable de bucle
var i;
// Vista de lista
function listView() {
  for (i = 0; i < elements.length; i++) {
    elements[i].style.width = "100%"; // Establece el ancho de cada elemento en el 100%
  }
}
// Vista de cuadrícula
function gridView() {
  for (i = 0; i < elements.length; i++) {
    elements[i].style.width = "50%"; // Establece el ancho de cada elemento en el 50%
  }
}