Mr. Lavalamp
Mr. Lavalamp

Reputation: 1888

CSS3 transform not working properly with Webkit?

I'm trying to rig up a demo I found with Webkit that should have one image on one side of a frame and flip to another image. Instead, webkit just decides to show me the back image on both sides, mirrored. Any help is appreciated very much!

Fiddle: http://jsfiddle.net/sH2jZ/

CSS:

    #f1_container {
    position: relative;
    margin: 10px auto;
    width: 450px;
    height: 281px;
    z-index: 1;
    }
    #f1_container {
    perspective: 1000;
    }
    #f1_card {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: all 1.0s linear;
    }
    #f1_container:hover #f1_card {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    box-shadow: -5px 5px 5px #aaa;
    }
    .face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    }
    .face.back {
    display: block;
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    box-sizing: border-box;
    color: white;
    text-align: center;
    background-color: #aaa;
    }

HTML:

    <div id="f1_container">
    <div id="f1_card" class="shadow">
    <div class="front face">
    <img src="http://css3.bradshawenterprises.com/images/Windows%20Logo.jpg"/>
    </div>
    <div class="back face center">
    <img src="http://blog.roblox.com/wp-content/uploads/2012/09/Mac-OS-X-10.5-Leopard.png" height="281" width="450" />
    </div>
    </div>
    </div>

Upvotes: 1

Views: 260

Answers (1)

MarcinJuraszek
MarcinJuraszek

Reputation: 125630

You've missed -webkit- version for couple of your transform-related statements:

#f1_container {
    position: relative;
    margin: 10px auto;
    width: 450px;
    height: 281px;
    z-index: 1;
}
#f1_container {
    perspective: 1000;
}
#f1_card {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transition: all 1.0s linear;
    -webkit-transition: all 1.0s linear;
}
#f1_container:hover #f1_card {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    box-shadow: -5px 5px 5px #aaa;
}
.face {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.face.back {
    display: block;
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    box-sizing: border-box;
    color: white;
    text-align: center;
    background-color: #aaa;
}

DEMO

Upvotes: 3

Related Questions