0

css と JQuery を使用して、水平面で div フリップを作成しようとしています。これを非常にうまく行うコードをJSFiddleで見つけましたが、Firefoxでは機能せず、ChromeとSafariで機能する理由を理解できません(現時点ではOSXでのみテストしています)。

http://jsfiddle.net/TLCqu/2/

css は次のとおりです。

body {
    background: #ccc;
}
.flip {
    -webkit-perspective: 800;
    width: 400px;
    height: 200px;
    position: relative;
    margin: 50px auto;
}
.flip .card.flipped {
    -webkit-transform: rotatey(-180deg);
}
.flip .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: 0.5s;
}
.flip .card .face {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    z-index: 2;
    font-family: Georgia;
    font-size: 3em;
    text-align: center;
    line-height: 200px;
}
.flip .card .front {
    position: absolute;
    z-index: 1;
    background: black;
    color: white;
    cursor: pointer;
}
.flip .card .back {
    -webkit-transform: rotatey(-180deg);
    background: blue;
    background: white;
    color: black;
    cursor: pointer;
}

これがどこでも使用され-moz-transform: rotateY(-180deg);た後に追加しました。-webkit-transform:これには、div ではなく、テキストを逆にするという奇妙な効果があります。Webkit で何が機能するのか、何を変更する必要があるのか​​ わかりません。

4

2 に答える 2

1

mozillaの場合、を使用する必要があります-moz-。CSSの更新バージョンは次のとおりです。

body {
    background: #ccc;
}
.flip {
    -webkit-perspective: 800;
    -moz-perspective: 800;
    width: 400px;
    height: 200px;
    position: relative;
    margin: 50px auto;
}
.flip .card.flipped {
    -webkit-transform: rotatey(-180deg);
    -moz-transform: rotatey(-180deg);
}
.flip .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: 0.5s;
    -moz-transform-style: preserve-3d;
    -moz-transition: 0.5s;
}
.flip .card .face {
    width: 100%;
    height: 100%;
    position: absolute;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    z-index: 2;
    font-family: Georgia;
    font-size: 3em;
    text-align: center;
    line-height: 200px;
}
.flip .card .front {
    position: absolute;
    z-index: 1;
    background: black;
    color: white;
    cursor: pointer;
}
.flip .card .back {
    -webkit-transform: rotatey(-180deg);
    -moz-transform: rotatey(-180deg);
    background: blue;
    background: white;
    color: black;
    cursor: pointer;
}

デモ:http: //jsfiddle.net/TLCqu/3/

お役に立てれば!

于 2013-01-28T21:23:20.960 に答える
0

-webkitはWebkitブラウザ専用であるため、Firefoxでは機能しません。Firefoxはgeckoを使用しているので、mozillaをサポートするために-mozillaプレフィックスを追加する必要があります。

使用している機能のブラウザサポートのリストについては、caniuse.comを確認してください。CSS 3d変換の多くは、まだかなり実験的なものです。

于 2013-01-28T21:23:38.650 に答える