当有人将鼠标悬停在手册上时,我想创建一个向左和向右打开的手册。我使用
但右侧的实际行为是,它应用了
我无法理解为什么
这里是代码:https://jsfiddle.net/eL6q3hp4/2/。
transform-origin: 0%
和 transform: rotateY(-180deg)
来使手册的左侧向左打开(红色和蓝色卡片)。对于右侧,我当然会使用 transform-origin: 100%
和 transform: rotateY(180deg)
向右打开 (绿色卡片)。但右侧的实际行为是,它应用了
transform-origin: 0%
并旋转到手册的左侧后面(这就是为什么您看不见它,但它确实存在)。我无法理解为什么
transform-origin: 100%
没有生效。这里是代码:https://jsfiddle.net/eL6q3hp4/2/。
.book-container {
height: 350px;
width: 250px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
perspective: 1000px;
}
.book-part {
height: auto;
width: auto;
position: absolute;
transform-style: preserve-3d;
top: 0;
left: 0;
}
.book-part > .card {
height: 350px;
width: 250px;
position: absolute;
transform-style: preserve-3d;
backface-visibility: hidden;
}
/* RIGHT SITE */
.right-part {
transform-origin: 0%;
}
.right-card {
transform: rotateY(-180deg);
}
.book-container:hover .right-part {
transform: rotateY(180deg);
transition: 0.7s;
transition-delay: 0.3s;
}
/* LEFT SITE */
.left-part {
transform-origin: 100%;
}
.left-card {
transform: rotateY(180deg);
}
.book-container:hover .left-part {
transform: rotateY(-180deg);
transition: 0.7s;
}
.middle-card {
background-color: blue;
}
.right-card {
background-color: green;
}
.left-card {
background-color: red;
}
.front-card {
background-color: yellow;
}
<div class="book-container">
<div class="book-part middle-part">
<div class="card middle-card"></div>
</div>
<div class="book-part right-part">
<div class="card right-card"></div>
</div>
<div class="book-part left-part">
<div class="card left-card"></div>
<div class="card front-card"></div>
</div>
</div>
img
标签没有图片是有意为之的吗? - Rainbow