Galería de Imágenes Simple, con Javascript y CSS
Cómo insertar una galería de imágenes en tu blog. Súper simple y fácil de editar.
¡Hola! Ya extrañaba escribir en mi blog. Vuelvo con esta genial galería de imágenes que es muy fácil de insertar y es súper simple.
Sólo es necesario insertar el HTML, y decorarlo un poco con CSS, veamos:
Recuerda que para agregar más miniaturas, y al mismo tiempo, otra imagen, sólo pega lo siguiente antes del penúltimo </div>
Continuemos con el CSS
Eso sería todo lo necesario para poner en marcha esta galería. ¡Hasta la próxima idea!
Sólo es necesario insertar el HTML, y decorarlo un poco con CSS, veamos:
<div id="galeria">
<div id="galeria_imagen">
<img id="imgGaleria" src="URL-IMAGEN-POR-DEFECTO" /></div>
<div id="galeria_miniaturas">
<img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src;" src="URL-IMAGEN-1" />
<img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src;" src="URL-IMAGEN-2" />
<img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src;" src="URL-IMAGEN-3" />
<img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src;" src="URL-IMAGEN-4" />
<img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src;" src="URL-IMAGEN-5" />
</div>
</div>
Recuerda que para agregar más miniaturas, y al mismo tiempo, otra imagen, sólo pega lo siguiente antes del penúltimo </div>
<img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src" src="URL-IMAGEN />
Continuemos con el CSS
#galeria, #galeria * {box-sizing:border-box}
#galeria {
border: 1px solid #EAEAEA; /* Borde de la galería */
padding: 10px;
padding-bottom: 0;
background: white; /* Fondo de la galería */
width: 410px; /* Ancho de la galería */
}
#galeria_miniaturas {
display: table;
margin: 0 auto;
}
#imgGaleria {
border: 1px solid #F2F2F2; /* Borde de la imagen */
padding: 3px;
width: x; /* Ancho de la imagen */
height: x; /* Alto de la imagen */
}
.miniatura {
width: 60px; /* Ancho de las miniaturas */
height: 60px; /* Alto de las miniaturas */
float: left;
cursor: pointer;
padding: 5px;
margin: 10px 5px;
}
.miniatura:hover {
opacity:.8; /* Opacidad */
}
.miniatura:active {
opacity:1;
}
Eso sería todo lo necesario para poner en marcha esta galería. ¡Hasta la próxima idea!
Muy buena la Galería, es lo que andaba buscando, algo simple y bien explicado.
ResponderEliminarQuisiera saber si hay alguna forma de agregar más fotos en miniatura y avanzar con una flecha u algo así. Con el ejemplo, si nos exedemos en el ancho, las miniaturas van quedando debajo.
Muchas Gracias !!!
Hola Leandro. Lamento mucho hacerte esperar para una respuesta, es que he estado muy ocupado estas últimas semanas.
EliminarPara agregar más miniaturas, puedes volver a revisar que ya lo expliqué como. Y si ves que no alcanza el lugar para que queden todas las miniaturas en fila sólo debes aumentar el ancho de la galería, que puedes encontrar en la parte de estilos del código. En el ejemplo encuentras width:410px puedes aumentar el valor para hacer más ancha la galería. Y si ves que la imagen maximizada queda un poco pequeña luego de los cambios, también puedes cambiar el alto y el ancho de ésta, cambiando los valores representados con unas X.
En último lugar quedaría el asunto de las flechas. Yo no tengo tantos conocimientos en Javascript para poder controlar estas cosas así que lamento no poder solucionarte esto. Pero aquí te dejo esta otra alternativa de galería que también es bastante simple y fácil de controlar. Saludos, Leandro y gracias por dejar tu opinión.
hola lucas, tengo todo copiado pero no se me ejecuta el javascript, es decir, clicko pero no veo las fotos como tu lo tienes... porque puede ser?
ResponderEliminarQuizá porque no repetiste el url de la imagen donde dice: onclick="javascript:document.getElementById('imgGaleria').src='URL-IMAGEN-1';". Ésa es la parte que se necesita para que funcione el mecanismo. Suerte ;)
Eliminarpor fin encuentro una manera sencilla de aplicar una galeria con css y xhtml. Saludos
ResponderEliminarQué bien, Orion! Saludos a ti :D
EliminarExcelente sos un capo, no cabe duda. Muchas gracias hasta que encuentro algo simple y preciso sin tanto lio. Gracias!!!!!!!!!!!!
ResponderEliminarGracias, MI NOMBRE NO IMPORTA! La idea era hacerlo simple y fácil de entender para poder editarlo. Saludos y gracias por visitar BlogDesign :)
EliminarHola... esto es lo que estoy buscando, pero quiero la galería para mis entradas....
ResponderEliminares sencilla la instalación, solo que no veo donde debo colocar los códigos....
osea debajo de que linea? si en la edición de la plantilla o en la edición html de la entrada.... Saludos...
Lo que que te conviene, Jacky, es colocar el HTML en el editor de las entradas donde tu dices, y el CSS (que son los estilos) puedes ponerlos en el editor de la plantilla antes de la línea ]]></b:skin>. Espero que lo puedas aplicar :) Saludos
EliminarHey cuanto tiempo :) Un truco: En vez de poner dos veces las urls, puedes poner this.src (sin entrecomillar). Esto hará que sólo se tengan que cambiar una vez ;)
ResponderEliminarSorprendente, Emilio! Gracias por tu aporte. Actualizaré la entrada para que todos puedan acceder a este truco :)
EliminarHAY FORMA DE AGREGAR UNA DESCRIPCION A CADA FOTO??.. SALUDOS... GRACIAS!...
ResponderEliminarCUANDO VISUALIZO UNA IMAGEN VERTICAL, SE EXTIENDE EL ALTO Y TENGO QUE BAJAR CON EL SCROLL PARA VER LAS OTRAS MINIATURAS, ESCOJO OTRA FOTO Y LUEGO TENGO QUE SUBIR PARA VER LA FOTO... COMO PUEDO SOLUCIONAR??? Y LO DE AGREGAR DESCRIPCION A CADA FOTO TAMBIEN.. SALUDOS.. GRACIAS...
ResponderEliminarHola. Para poder agregar una descripción será mejor que utilices otro tipo de galería, ya que esta es una galería simple y lo mejor sería no aplicar tantas cosas. Con respecto a lo de la imagen vertical, podrías encerrar cada <img> de las miniaturas en un <a> que hará un salto hacia la galería cada vez que se seleccione una minuatura. Quedadía algo como esto:
ResponderEliminar<a href='#galeria'><img class="miniatura" onclick="javascript:document.getElementById('imgGaleria').src=this.src;" src="URL-IMAGEN-1" /></a>
Espero que lo puedas solucionar. Saludos
Realmente muy bueno! hace un tiempo quise hacer uno y encontré todos bastante complicados para los que tienen pocos conocimientos, encima me agregaba muchos problemas al código. Pero la verdad que esta galería es sencilla de hacer, rápida y fácil de entender para hacer los cambios necesarios para personalizarla.
ResponderEliminarGracias por tu aporte!
Me gustaría preguntar si se puede modificar de alguna forma la imágenes en miniatura para que no se vean deformadas
ResponderEliminarAgradecería tu respuesta
Hola. La causa por la que se deforman las miniaturas es porque se les da una forma cuadrada con width: 60px; /* Ancho de las miniaturas */
Eliminarheight: 60px; /* Alto de las miniaturas */. Para que tengan forma rectangular, elimina width:60px. De esta manera el ancho de las miniaturas será relativo.
Hola, muy bueno y practico el codigo. lo que yonecesito a esto es pasarle el nombre de las imagenes por variable de php! se pude?
ResponderEliminarMuy buen ejercicio y desde ya mis màs cordiales saludos al señor Lucas Maidana... Un placer poder hacerlo de forma tan fàcil. Muchisimas Gracias !!!
ResponderEliminarSaludos Lucas, muchas gracias por compartir tus conocimientos y tu tiempo, un ejemplo sencillo pero muy efectivo.
ResponderEliminarHola lo he implementado desde cero en dreamwaeaver y va perfecto, pero lo implemento en wordpress y para que se vean las miniaturas en filas y columnas tengo que cambiar la propiedad display: table a display: inline en #galeria_miniaturas. (Si no se queda en un única columna)
ResponderEliminarAún así, que es lo mas extraño de todo, en la primera fila, desde la primera miniatura a la última aparecen desdecendentemente, es decir, la primera aparece bien la segunda un poco mas baja, la tercera mas baja todavía y así hasta la última. No me había pasado nunca. He tocado el padding, el margin y en general casi todo, pero nada. Sabéis que propiedad esta relacionada con esta anomalía?
Muchas gracias.
Hola. La causa de lo saltos que dices puede ser la propiedad display: inline-block. Visita este post de Kseso Css y a ver si lo solucionas
ResponderEliminarGracias LucasMaidana! Justo era eso!
ResponderEliminarGracias muy buen aporte ;)
ResponderEliminarHola!
ResponderEliminarMuy buena la galería! solo tengo un problema, en Explorer no me funciona, se ve pero no cambia a la foto que se seleccione.
Saludos y gracias de antemano!
Muchas gracias por la explicación. Es muy sencilla de manejar. Un saludo.
ResponderEliminarEstimado, estoy intentando pero me muestra todas las imagenes de la galeria hacia abajo.
ResponderEliminarhola queria saber de que forma se puede hacer para que la galería vaya cambiando las imagenes por si sola , no se si me explico bien quería saber como hacer para que las imagenes que carguen vallan cambiando cada cierto tiempo
ResponderEliminarhol muchas gracias de antemano
ResponderEliminarsolo tengo una duda
si quiero poner la misma galeria en la misma pagina si salen pero al momento de darles click a las imagenes estas no cambian solo se aplican los cambios a la primera galeria. :S
yo quiero poner en la misma pagina mas de 2 galerias sera que me puedas echas la mano
adjunto mi correo
aloeza23@gmail.com
quigalFbus-go Jasmine Vang click
ResponderEliminarrangproplargpu