Ich muss die Transformation von einigen Divs klicken in einem HTML-Knoten zu steuern. Wenn diese Divs mit einer Anzeige "Inline-Block" sind, funktioniert es in Ordnung, aber wenn ich sie in ein Spaltenlayout mit css3 einpacke, funktionieren sie nicht (außer in der ersten Spalte!)CSS 3D Rotation funktioniert nicht mit Spaltenlayout auf Chrome
Überprüfen Sie diese Geige: https://jsfiddle.net/madelavega/hjyntsob/
Im ersten Teil, mit dem Spaltenlayout, funktioniert nur die erste Spalte: Klicken Sie auf "Flip" und dann auf "Ich arbeite", achten Sie auf den CSS-Hover-Stil; in der 2. und 3. Spalte funktioniert es nicht.
Im zweiten Teil, mit dem Display Inline-Block funktioniert es OK.
Ich brauche das Spaltenlayout, aber es scheint ein Chrome-Bug zu sein, denn es funktioniert gut unter Firefox. Weiß jemand davon?
$('.flip').click(function (evt) {
\t $(evt.currentTarget).parents('.card').addClass('flipped');
});
$('.i-doesnt-work').click(function (evt) {
\t $(evt.currentTarget).parents('.card').removeClass('flipped');
})
/** Column*/
.content {
-webkit-column-count: 3;
-webkit-column-gap: 0px;
-moz-column-count: 3;
-moz-column-gap: 0px;
column-count: 3;
column-gap: 0px;
}
/* Inline-block*/
.content-di {
display: inline-block;
}
.card {
display: inline-block;
width: 150px;
height: 100px;
background: red;
margin: 3px;
-webkit-transition: -webkit-transform 1s;
-moz-transition: -moz-transform 1s;
-o-transition: -o-transform 1s;
transition: transform 1s;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-transform-origin: right center;
-moz-transform-origin: right center;
-o-transform-origin: right center;
transform-origin: right center;
}
.card.flipped {
-webkit-transform: translateX(-100%) rotateY(-180deg);
-moz-transform: translateX(-100%) rotateY(-180deg);
-o-transform: translateX(-100%) rotateY(-180deg);
transform: translateX(-100%) rotateY(-180deg);
}
.front {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
position: absolute;
-o-backface-visibility: hidden;
backface-visibility: hidden;
-ms-backface-visibility: hidden;
-webkit-backface-visibility: visible;
}
.back {
webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-o-transform: rotateY(180deg);
transform: rotateY(180deg);
position: absolute;
color: #fff;
height: 100%;
top: 0px;
width: 100%;
background: #000;
-moz-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-backface-visibility: visible;
}
.flip {
cursor: pointer;
}
.flipped .i-doesnt-work {
cursor: pointer;
}
.flipped .i-doesnt-work:hover {
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Column layout</div>
<div class="content">
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I doesn't work!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I doesn't work!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I doesn't work!</span>
</div>
</div>
</div>
<div>Display: inline-block</div>
<div class="content-di">
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work too!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work too!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work too!</span>
</div>
</div>
<div class="card">
<div class="front">
<span class="flip">Flip</span>
</div>
<div class="back">
<span class="i-doesnt-work">I work too!</span>
</div>
</div>
</div>