【发布时间】:2019-11-10 11:50:00
【问题描述】:
我正在创建一个带有响应悬停的菜单的首页。 backface-visibility 属性对我不起作用。我想旋转圆并在悬停时显示后圆。我确信有一个简单的答案,但我现在花了很多可笑的时间试图让它发挥作用。
我已经尝试在容器上包含 backface-visibility: hidden; - 实际上在每个级别,但没有效果。 Chrome、Firefox 和 Opera 中的行为相同。其他浏览器没试过。
密码笔是here。
当我悬停时,我希望看到后面的圆圈(蓝色),但我看到的是前面的圆圈(黄色)。
<div id="nav-container">
<div class="circle">
<div class="circle1 front-circle">First</div>
<div class="circle1 back-circle">1st back</div>
</div`>
<div class="circle">
<div class="circle1 front-circle">Second</div>
<div class="circle1 back-circle">2nd back</div>
</div>
</div>
CSS 在这里:
body {
overflow: hidden;
margin: 20;
height: 100vh;
background: #aaa;
}
.circle {
display: inline-block;
backface-visibility: hidden;
}
.circle1 {
position: relative;
height: 10rem;
width: 10rem;
/* background-color: #aaa; */
border-radius: 50%;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
.front-circle {
background: yellow;
transform: rotateX(0deg)
}
.back-circle {
background: blue;
transform: rotateX(0deg)
}
.back-circle {
transform: translateY(-10rem);
transform: rotateY(180deg);
}
.circle:hover {
animation: rotate-btn 1s linear;
-webkit-animation: rotate-btn 1s linear;
animation-fill-mode: forwards;
}
@keyframes rotate-btn {
from {
transform: rotateY(0);
}
to {
transform: rotateY(180deg);
}
}
我希望圆圈旋转为蓝色,但它保持黄色。
【问题讨论】:
-
你需要
transfom-style:stackoverflow.com/a/56769660/8620333
标签: css 3d css-animations