Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] galeria de imagenes

Estas en el tema de galeria de imagenes en el foro de CSS en Foros del Web. Buenas noches Buscando en internet, encontré una galería de imágenes muy interesante y me gusto. La implemente en mi código, la galeria me muestra dos ...
  #1 (permalink)  
Antiguo 02/07/2013, 20:53
 
Fecha de Ingreso: enero-2012
Ubicación: en la casa
Mensajes: 34
Antigüedad: 12 años, 2 meses
Puntos: 0
galeria de imagenes

Buenas noches

Buscando en internet, encontré una galería de imágenes muy interesante y me gusto. La implemente en mi código, la galeria me muestra dos partes la parte de los thumbnails a la izquierda y las fotos en tamaño natural a la derecha.
Mi problema es el siguiente:
Los thumbnails que me muestra, son una pequeña parte de la imagen a tamaño completo, y lo que necesito es que me muestre la imagen en miniatura, no importa si no tiene proporción, igual en las fotos grandes se ve todo bien.

El codigo que uso es el siguiente:
Código PHP:
<script type='text/javascript'>
var 
gal = {
init : function() {
if (!
document.getElementById || !document.createElement || !document.appendChild) return false;
if (
document.getElementById('gallery')) document.getElementById('gallery').id 'jgal';
var 
li document.getElementById('jgal').getElementsByTagName('li');
li[0].className 'active';
for (
i=0i<li.lengthi++) {
li[i].style.backgroundImage 'url(' li[i].getElementsByTagName('img')[0].src ')';
li[i].title li[i].getElementsByTagName('img')[0].alt;
gal.addEvent(li[i],'click',function() {
var 
im document.getElementById('jgal').getElementsByTagName('li');
for (
j=0j<im.lengthj++) {
im[j].className '';
}
this.className 'active';
});
}
},
addEvent : function(objtypefn) {
if (
obj.addEventListener) {
obj.addEventListener(typefnfalse);
}
else if (
obj.attachEvent) {
obj["e"+type+fn] = fn;
obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
obj.attachEvent("on"+typeobj[type+fn]);
}
}
}
gal.addEvent(window,'load', function() {
gal.init();
});
</script>

<style type='text/css'>
/* general styling for this example */
* { margin: 0; padding: 0; }
body { padding: 20px; }
/* begin gallery styling */
#jgal { list-style: none; width: 200px; }
#jgal li { opacity: .5; float: left; display: block; width: 60px; height: 60px; background-position: 50% 50%; cursor: pointer; border: 3px solid #fff; outline: 1px solid #ddd; margin-right: 14px; margin-bottom: 14px; }
#jgal li img { position: absolute; top: 20px; left: 200px; display: none; }
#jgal li.active img { display: block; }
#jgal li.active, #jgal li:hover { outline-color: #bbb; opacity: .99 /* safari bug */ }

/* styling without javascript */
#gallery { list-style: none; display: block; }
#gallery li { float: left; margin: 0 10px 10px 0; }
</style>

<body>
<ul id="gallery">
<li><a href="1.jpg" rel="lightbox[roadtrip]"><img src="1.jpg" alt="Image 1"></a></li>
<li><a href="2.jpg" rel="lightbox[roadtrip]"><img src="2.jpg" alt="Image 2"></a></li>
</ul>
</body> 
  #2 (permalink)  
Antiguo 03/07/2013, 03:42
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: galeria de imagenes

Por lo que veo las imágenes son añadidas al fondo de los li. Puedes usar background-size, usando o bien contain o cover, prueba ambos a ver cómo prefieres que se vea:

Código CSS:
Ver original
  1. #jgal li {
  2.   background-size: cover; /* o contain */
  3. }

Con cualquiera de esas dos opciones verás el fondo —la miniatura— sin deformarse. También puedes usar otra opción, que es indicar 100%, y con eso si se deformará.

Última edición por pzin; 03/07/2013 a las 08:02
  #3 (permalink)  
Antiguo 03/07/2013, 08:01
 
Fecha de Ingreso: enero-2012
Ubicación: en la casa
Mensajes: 34
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: galeria de imagenes

Gracias pzin, quedo excelente

Etiquetas: color, galeria, hover, imagenes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.