Мне нужно управлять преобразованием некоторых divs, щелкнув узел html. Когда эти divs имеют дисплей «встроенный блок», он работает нормально, но если я оберну их в макет столбца с помощью css3, они не будут работать (за исключением первого столбца!)CSS 3d вращение не работает с расположением столбцов на Chrome
Проверьте эту скрипту: https://jsfiddle.net/madelavega/hjyntsob/
В первой части, с расположением столбцов, работает только первый столбец: нажмите на флип, а затем нажмите «Я работаю», обратите внимание на стиль наведения CSS; во втором и третьем столбцах это не работает.
Во второй части, с встроенным блоком дисплея, он работает нормально.
Мне нужен макет столбца, но он кажется ошибкой Chrome, потому что он хорошо работает в Firefox. Кто-нибудь знает об этом?
$('.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>