Por lo general, todo se ve bien pero los ejemplos tienen sus trampas; se muestran en páginas vacias donde todo se posiciona de manera absoluta y no hay nada otra cosa que influya; son contextos asépticos y si queremos usarlo en un blog o una página web donde haya otros elementos alrededor, las cosas se complican; más aún si no se tienen en cuenta que los navegadores no funcionan igual y que hay propiedades que no reconocen.
Todo eso suele tener solución; basta jugar un poco con las propiedades y probar a ver que sale aunque, eventualemente, es posible que no salga nada.
En este caso, voy a usar cuatro imágenes y las colocaré en una lista ordenada a la que idendificaré con un ID:
<ul class="thumb"> <li><img src="URL_imagen_1"/></li> <li><img src="URL_imagen_2"/></li> <li><img src="URL_imagen_3"/></li> <li><img src="URL_imagen_4"/></li> </ul> <div> ....... cualquier contenido ....... </div>
<style>
/* la lista flota a la izquierda porque quiero que el DIV con el texto se muestre a su lado */
/* por ese motivo, debo dimensionarla con width y height */
ul.thumb {
float: left;
height: 240px;
list-style: none;
margin: 0;
position: relative;
width: 260px;
}
/* cada item es una imagen que fuerzo a que se muestren pequeñas */
ul.thumb li {
/* se posicionand e manera absoluta */
position: absolute;
left: 50px;
top: 0;
z-index: 0;
/* algo de decoración */
background-color: #FFF;
box-shadow: 0 0 10px #444 inset;
padding: 10px;
/* el tamaño de la imagen a mostrar */
height: 112px;
width: 150px;
/* la transición será el efecto */
-moz-transition: all 1s ease-in-out 0s;
-webkit-transition: all 1s ease-in-out 0s;
-o-transition: all 1s ease-in-out 0s;
}
ul.thumb li img {
height: 100%;
width: 100%;
}
/* cada item se posiciona y se rota a gusto */
ul.thumb li:nth-child(1) {
-moz-transform: rotate(20deg);
-webkit-transform: rotate(20deg);
-o-transform: rotate(20deg);
margin-top: 100px;
}
ul.thumb li:nth-child(2) {
-moz-transform: rotate(-30deg);
-webkit-transform: rotate(-30deg);
-o-transform: rotate(-30deg);
margin-top: 0px;
}
ul.thumb li:nth-child(3) {
-moz-transform: rotate(-15deg);
-webkit-transform: rotate(-15deg);
-o-transform: rotate(-15deg);
margin-top: 75px;
}
ul.thumb li:nth-child(4) {
-moz-transform: rotate(10deg);
-webkit-transform: rotate(10deg);
-o-transform: rotate(10deg);
margin-top: 50px;
}
/* el efecto al poner el cursor encima */
ul.thumb li:hover {
/* se elimina la rotación */
-moz-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-o-transform: rotate(0deg);
/* se muestra la imagen con su tamaño real */
height: 375px;
width: 500px;
/* se la posiciona y se la pone en primer plano */
margin-left: 0px;
margin-top: -50px;
z-index:10;
/* algo de decoración */
border-radius: 10px;
padding:20px;
}
</style>Por ejemplo, podemos agregar el script ie9js que es un script que agrega una cantidad de funciones extras, ayudando a que las versiones más viejas de IE interpreten propiedades que normalmente no están implementadas. Se coloca antes de </head>:
<!--[if lt IE 9]> <script src='http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js'/> <![endif]-->
<!--[if IE]>
<style type='text/css'>
ul.thumb li { zoom: 1; }
#IE1 {
margin-left: -30px;
margin-top: -20px;
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.9396926207859084, M12=-0.3420201433256687, M21=0.3420201433256687, M22=0.9396926207859084, sizingMethod='auto expand');
}
#IE2 {
margin-left: -20px;
margin-top: 15px;
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.8660254037844387, M12=0.49999999999999994, M21=-0.49999999999999994, M22=0.8660254037844387, sizingMethod='auto expand');
}
#IE3 {
margin-left: -30px;
margin-top: 50px;
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.9659258262890683, M12=0.25881904510252074, M21=-0.25881904510252074, M22=0.9659258262890683, sizingMethod='auto expand');
}
#IE4 {
margin-left: 0px;
margin-top: 90px;
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.984807753012208, M12=-0.17364817766693033, M21=0.17364817766693033, M22=0.984807753012208, sizingMethod='auto expand');
}
ul.thumb li:hover {
filter: progid:DXImageTransform.Microsoft.Matrix(enabled='false') !important;
}
</style>
<![endif]-->









