关于CSS3两面翻转的盒子背面不显示的问题
话不多说先上代码
body {
perspective: 300px;
}
.box {
position: relative;
width: 400px;
height: 400px;
/* background-color: rgb(227, 221, 221); */
margin: 100px auto;
transition: all .8s;
/* 让背面的盒子保留3D立体空间 给父级盒子添加transform-style */
transform-style: preserve-3d;
}
.box:hover {
transform: rotateY(180deg);
}
.front,
.back {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
font-size: 50px;
text-align: center;
line-height: 400px;
color: aliceblue;
}
.front {
background-color: rgb(70, 210, 253);
z-index: 1;
backface-visibility: hidden;
}
.back {
background-color: aquamarine;
transform: rotateY(180deg);
}
之前跟pink老学做3D转换小案例两面翻转的盒子发现在浏览器中显示不了背面的盒子,就去扒了一下网上大神们的解决方案,发现需要在.font里面加上backface-visibility: hidden;才行。
.front {
background-color: rgb(70, 210, 253);
z-index: 1;
backface-visibility: hidden;
}
然后运行就可以看见鼠标经过盒子翻转的背面了!!!
另外附上效果图和backface-visibility:hidden的作用
- backface-visibility:hidden的作用是:用于定义当元素不面向屏幕时是不可见的。通过该样式我们可以使一个元素在翻转之后消失,此时我们可以把另一个元素放在它的背面,从而实现翻转效果。