css - Image to pop up in front another image in 3D while hovering -
here fiddle demonstrate question fiddle
css:
#email { list-style: none; margin: 100px 0; height: 550px; } #email li { display: inline; float: left; -webkit-perspective: 500; -webkit-transform-style: preserve-3d; -webkit-transition-property: perspective; -webkit-transition-duration: 0.5s; -moz-perspective: 500; -moz-transform-style: preserve-3d; -moz-transition-property: perspective; -moz-transition-duration: 0.5s; } #email li:hover { -webkit-perspective: 5000; -moz-perspective: 5000; } #email li div { border: 10px solid #fcfafa; -webkit-transform: rotatey(30deg); -moz-transform: rotatey(30deg); -moz-box-shadow:0 3px 10px #888; -webkit-box-shadow:0 3px 10px #888; -webkit-transition-property: transform; -webkit-transition-duration: 0.5s; -moz-transition-property: transform; -moz-transition-duration: 0.5s; } #email li:hover div { -webkit-transform: rotatey(0deg); -moz-transform: rotatey(0deg); }
html:
<ul id="email"> <li> <div style="width: 180px; height: 180px; margin-bottom: 10px; background-color:green"><div> <div style="width: 250px; height: 200px; margin-left: 5px; margin-bottom: 10px; background-color: red"></div> </li> </ul>
as can see in fiddle, have used 2 different div elements in 3d: 1 in front , other behind it.
now when hover on div, position changes. while hovering, need div green colour align in front of div red colour.
i new css, looking help. thanks
i've made modification. turns out chrome needs transform on non-hovered element in order position while hovering.
jsfiddle: http://jsfiddle.net/jjordanca/nypbs/2/
html
<ul id="email"> <li> <div class="green" style="width:180px;height:180px;background-color:green"></div> <div class="red" style="width:250px;height:200px;margin-left:5px;background-color:red"></div> </li> </ul>
css
#email { list-style:none; margin:100px 0; height:550px; } #email li{ display: block; -webkit-perspective: 500px; -moz-perspective: 500px; position: relative; width: 100%; height: 100%; -moz-transform-origin: 25% 50%; -webkit-transform-origin: 25% 50%; } #email:hover .green { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -webkit-transform: translate3d(100px,0,175px); -moz-transform: translate3d(100px,0,175px); -webkit-transition-property: transform; -webkit-transition-duration: 1s; -moz-transition-property: transform; -moz-transition-duration: 1s; z-index: 2; } #email:hover .red { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -webkit-transform: translate3d(0, 0, -175px); -moz-transform: translate3d(0, 0, -175px); -webkit-transition-property: transform; -webkit-transition-duration: 1s; -moz-transition-property: transform; -moz-transition-duration: 1s; z-index: 1; } #email li div { display: block; position: absolute; -moz-box-shadow:0 3px 10px #888; -webkit-box-shadow:0 3px 10px #888; } #email li .green { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -webkit-transform: translate3d(50px, -50px, -50px); -moz-transform: translate3d(50px, -50px, -50px); z-index: 1; } #email li .red { -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -webkit-transform: translate3d(150px, 50px, 50px); -moz-transform: translate3d(150px, 50px, 50px); z-index: 2; }
Comments
Post a Comment