CSS3翻转功能(背面可见性问题)

时间:2013-11-05 15:29:46

标签: css3

我正在按照CSS3教程提供cardflip功能。

当用户悬停或触摸图像时,我希望图像翻转并显示第二张图像。

到目前为止,我有:

    /* entire container, keeps perspective */
.flip-container {
    perspective: 1000;
}
    /* flip the pane when hovered */
    .flip-container:hover .flipper {
        transform: rotateY(180deg);
        -webkit-transform: rotateY(180deg);
        -moz-transform: rotateY(180deg);
        -o-transform: rotateY(180deg);
    }

.flip-container, .front, .back {
    width: 300px;
    height: 300px;
}

/* flip speed goes here */
.flipper {
    transition: 0.6s;
    transform-style: preserve-3d;
    position: relative;
}

/* hide back of pane during swap */
.front, .back {
    backface-visibility: hidden;
    -webkit-backface-visibility:hidden; /* Chrome and Safari */
    -moz-backface-visibility:hidden; /* Firefox */
    -ms-backface-visibility:hidden; /* Internet Explorer */
    position: absolute;
    top: 0;
    left: 0;
}

/* front pane, placed above back */
.front {
    z-index: 2;
}

/* back, initially hidden pane */
.back {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
}

http://jsfiddle.net/jP39d/

问题是,尽管我设置了backface-visibility: hidden;,但前面的图像仍显示图像,但是相反。图2无处可见!

Reverse of 1st image

1 个答案:

答案 0 :(得分:3)

-webkit-transform-style: preserve-3d;之外添加transform-style: preserve-3d;。它现在应该工作。

我想您也想使用-webkit-perspective,因为您只使用了perspective

所以,它只是一个前缀问题。如果您想支持它们,您应该添加-moz-o