Cómo hacer zoom con una sóla imagen - Cómo hacer zoom con una sóla imagen
Tutorial creado por blogpocket. Extraido de: http://www.blogpocket.com/blog/wp-content/themes/yadda/index.php?fic=tutorialzoom
07 de Marzo de 2006
HTML
1 - Cómo hacer zoom con una sóla imagen
El efecto que queremos crear es que al pinchar sobre una imagen pequeña (thumbnail), ésta se agrande (zoomed). Esto se puede realizar con CSS simplemente definiendo dos imágenes distintas (una pequeña y otra grande) para los estados normal y hover del enlace. Es decir, si el enlace es:
<a href="zoomed.jpg">ver imagen</a>
se definen en el CSS:
#zoom a {
...
background: url("thumbnail.jpg") top left no-repeat;
...
}
#zoom a:hover {
...
background-image: url("zoomed.jpg");
...
}
Donde thumbnail.jpg y zoomed.jpg son los ficheros correspondientes a las imágenes grande y pequeña respectivamente.
Sin embargo, veamos cómo podemos realizar este mismo efecto usando una única imagen. El truco consiste en utilizar un fichero común con las dos imágenes y las propiedades background-position∞, width∞ y height∞, en el estado hover del link que apunta a la imagen, y situarla en el trozo que corresponde a la imagen grande.
El fichero que vamos a utilizar como ejemplo es awandieboth.jpg∞, cuya dimensión, en píxeles, es 218 de ancho y 265 de alto. La imagen pequeña mide 136 de ancho por 101 de alto y la imagen grande, 218 de ancho por 164 de ancho.
El texto que acompaña a la imagen thumbnail, junto con el enlace a la imagen, se incluye dentro de un bloque definido en el CSS como id=zoom:
<div id="zoom">
Esto permitirá, también, para navegadores que no visualicen bien el CSS, acceder a las dos imágenes al mismo tiempo.
Veamos la definición del estado normal de a:
#zoom a {
En widht y height se ponen las dimensiones de la imagen pequeña (136x101). En background se pone el fichero con las dos imágenes, ajustado al tamaño de la caja. El parámetro 'text-indent', con el valor negativo de 8em permite desplazar el texto del enlace 'ver imagen' hacia la izquierda, lo que hace que desaparezca.
'Overflow: hidden' ajusta el tamaño del contenido al declarado del elemento. Esto se realiza siempre que el contenido de un elemento no encaja o coincide con el rectángulo definido por alguna de las propiedades top , left , height y width. 'Display: block' indica que la definición corresponde a un elemento de bloque, no de línea (<em>) ni de lista (<li>). 'Float: right' ajusta la caja con la imagen a la derecha y 'margin' y 'border' establecen los margenes y el tipo de borde.
Con el estado 'hover' se establecen las dimensiones de la caja y sus propiedades, al pasar el ratón por encima de la imagen pequeña. Aquí, el parámetro 'background-position' juega el papel protagonista de este truco:
#zoom a:hover {
La caja se redimensiona a un tamaño de 218x164 y los valores de la propiedad 'background-position' colocan la imagen grande del fichero awandieboth.jpg en esta nueva caja que tiene justamente el mismo tamaño. 0 y 104 son los valores del eje X (posición horizontal) y del eje Y (posición vertical) del fichero awandieboth.jpg que queremos llevar a la esquina superior izquierda de la caja que se define en el estado hover. Es decir, si suponemos que el punto (0,0) es la esquina superior izquierda, con background-position: 0 -101px colocamos la imagen en el punto (0,-101) que es como si desplazáramos la imagen 101 píxeles hacia arriba, justamente para situar la imagen grande del fichero awandieboth.jpg en esta nueva caja.
Pueden ver el ejemplo completo∞.
<a href="zoomed.jpg">ver imagen</a>
se definen en el CSS:
#zoom a {
...
background: url("thumbnail.jpg") top left no-repeat;
...
}
#zoom a:hover {
...
background-image: url("zoomed.jpg");
...
}
Donde thumbnail.jpg y zoomed.jpg son los ficheros correspondientes a las imágenes grande y pequeña respectivamente.
Sin embargo, veamos cómo podemos realizar este mismo efecto usando una única imagen. El truco consiste en utilizar un fichero común con las dos imágenes y las propiedades background-position∞, width∞ y height∞, en el estado hover del link que apunta a la imagen, y situarla en el trozo que corresponde a la imagen grande.
El fichero que vamos a utilizar como ejemplo es awandieboth.jpg∞, cuya dimensión, en píxeles, es 218 de ancho y 265 de alto. La imagen pequeña mide 136 de ancho por 101 de alto y la imagen grande, 218 de ancho por 164 de ancho.
El texto que acompaña a la imagen thumbnail, junto con el enlace a la imagen, se incluye dentro de un bloque definido en el CSS como id=zoom:
<div id="zoom">
- lt;a href="awandieboth.jpg">Ver foto</a>
Lorem ipsum dolor sit ...
</div>Esto permitirá, también, para navegadores que no visualicen bien el CSS, acceder a las dos imágenes al mismo tiempo.
Veamos la definición del estado normal de a:
#zoom a {
float: right;
margin: 0 0 10px 10px;
border: 1px solid #000;
text-indent: -8em; /* hide the link text */
overflow: hidden;
display: block;
width: 136px; /* show only thumbnail */
height: 101px;
background: url(awandieboth.jpg) no-repeat top left;
}
margin: 0 0 10px 10px;
border: 1px solid #000;
text-indent: -8em; /* hide the link text */
overflow: hidden;
display: block;
width: 136px; /* show only thumbnail */
height: 101px;
background: url(awandieboth.jpg) no-repeat top left;
}
En widht y height se ponen las dimensiones de la imagen pequeña (136x101). En background se pone el fichero con las dos imágenes, ajustado al tamaño de la caja. El parámetro 'text-indent', con el valor negativo de 8em permite desplazar el texto del enlace 'ver imagen' hacia la izquierda, lo que hace que desaparezca.
'Overflow: hidden' ajusta el tamaño del contenido al declarado del elemento. Esto se realiza siempre que el contenido de un elemento no encaja o coincide con el rectángulo definido por alguna de las propiedades top , left , height y width. 'Display: block' indica que la definición corresponde a un elemento de bloque, no de línea (<em>) ni de lista (<li>). 'Float: right' ajusta la caja con la imagen a la derecha y 'margin' y 'border' establecen los margenes y el tipo de borde.
Con el estado 'hover' se establecen las dimensiones de la caja y sus propiedades, al pasar el ratón por encima de la imagen pequeña. Aquí, el parámetro 'background-position' juega el papel protagonista de este truco:
#zoom a:hover {
width: 218px; /* adjust size to zoomed photo */
height: 164px;
background-position: 0 -101px; /* move the image so only the big one shows */
}
height: 164px;
background-position: 0 -101px; /* move the image so only the big one shows */
}
La caja se redimensiona a un tamaño de 218x164 y los valores de la propiedad 'background-position' colocan la imagen grande del fichero awandieboth.jpg en esta nueva caja que tiene justamente el mismo tamaño. 0 y 104 son los valores del eje X (posición horizontal) y del eje Y (posición vertical) del fichero awandieboth.jpg que queremos llevar a la esquina superior izquierda de la caja que se define en el estado hover. Es decir, si suponemos que el punto (0,0) es la esquina superior izquierda, con background-position: 0 -101px colocamos la imagen en el punto (0,-101) que es como si desplazáramos la imagen 101 píxeles hacia arriba, justamente para situar la imagen grande del fichero awandieboth.jpg en esta nueva caja.
Pueden ver el ejemplo completo∞.
Valora este capítulo:
Autor y licencia de 'Cómo hacer zoom con una sóla imagen - Cómo hacer zoom con una sóla imagen'
|
Opiniona sobre 'Cómo hacer zoom con una sóla imagen - Cómo hacer zoom con una sóla imagen' (0)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este tutorial |
Wikis relacionados con 'Cómo hacer zoom con una sóla imagen - Cómo hacer zoom con una sóla imagen'
Toda organización, para permanecer en el mundo de los negocios, debe prever los posibles cambios...
Más »
La lectura del mundo se hace a partes iguales, desde la palabra que enuncia los...
Más »
Toda organización, para permanecer en el mundo de los negocios, debe prever los posibles cambios...
Más »
El video corporativo no es uno sólo, sino múltiples manifestaciones de una realidad, cuyas proyecciones...
Más »
Partiendo del cine mudo como documento histórico y subrayando el valor artístico de la música...
Más »


