Galería de lightbox minimalista en JavaScript puro

Tiempo de ejecución: 30 minutos. Empezar

Autor: ojsm45
Views Total: 830
Sitio oficial: Ir a la web
Actualizado: May 31, 2018
Licencia: MIT

Vista prévia

Galería de lightbox minimalista en JavaScript puro

Descripción

Una galería de lightbox de JavaScript nativa y minimalista para muestra todas tus imágenes en una ventana emergente de lightbox donde los usuarios pueden navegar a través de imágenes con flechas.

Keyboard interactions:

  • left : volver a la imagen anterior.
  • right : Goto la siguiente imagen.
  • ESC : cierre el lightbox.

Funcionamiento

Agregue miniaturas al contenedor de la galería.

<div class="gallery-container" id="gallery-container">

<div class="gallery-item">


<img class="gallery-img" src="1-thumb.jpg" alt="Descripcion 1">

</div>

<div class="gallery-item">


<img class="gallery-img" src="2-thumb.jpg" alt="Descripcion 2">

</div>

<div class="gallery-item">


<img class="gallery-img" src="3-thumb.jpg" alt="Descripcion 3">

</div>

...
</div>

Cargue el archivo principal de JavaScript ' lightbox. js ' al final del documento.

<script src="js/lightbox.js"></script>

Los estilos CSS principales para la galería & ventana emergente lightbox.

.gallery-container {

width: 900px;

margin-left: auto;

margin-right: auto;

display: -ms-grid;

display: grid;

-ms-grid-columns:(1fr)[4];

grid-template-columns: repeat(4, 1fr);

grid-gap: .5em
}

.gallery-img {

display: block;

max-width: 100%;

cursor: pointer
}

.lightbox-overlay {

position: fixed;

top: 0;

left: 0;

width: 100%;

height: 100%;

background: rgba(0,0,0,.8);

display: -ms-flexbox;

display: flex;

z-index: 1
}

.lightbox-container {

position: relative;

margin: auto;

background: #fff;

padding: 1em;

border-radius: .2em
}

.close-modal {

background: tomato;

color: #fff;

position: absolute;

width: 1.8em;

height: 1.8em;

text-align: center;

line-height: 1.8em;

top: -.9em;

right: -.9em;

border-radius: 50%;

cursor: pointer
}

.lightbox-description {

text-align: center;

font-size: 1.1em
}

.lightbox-navigation {

display: -ms-flexbox;

display: flex;

-ms-flex-pack: justify;

justify-content: space-between;

font-size: .9em;

opacity: .8
}

.lightbox-navigation__button {

text-decoration: none;

color: tomato
}

Te puede interesar: