CSS实现卡片3D翻转效果

作者: Hi小胡 | 来源:发表于2018-03-05 14:44 被阅读172次

效果:

代码:

html:

<div class="main">
  <div class="box b1"></div>
  <div class="box b2"></div>
</div>

css:

.main {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 300px;
  transform: translate(-50%,-50%);
  -webkit-perspective: 1500;
  -moz-perspective: 1500;
}

.box {
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 300px;
  transition: all 1s;
  backface-visibility: hidden;
  border-radius: 10px;
  cursor: pointer;
}
.b1{
  background:skyblue;
}
.b2 {
  background:tomato;
  transform: rotateY(-180deg);
}

javascript:

var b1 = document.querySelector(".b1");
var b2 = document.querySelector(".b2");

b1.onclick = function() {
  b1.style.transform = "rotateY(180deg)";
  b2.style.transform = "rotateY(0deg)";
}

b2.onclick = function() {
  b2.style.transform = "rotateY(-180deg)";
  b1.style.transform = "rotateY(0deg)";
}

-webkit-perspective:透视效果
backface-visibility:隐藏被旋转的 div 元素的背面

相关文章

网友评论

    本文标题:CSS实现卡片3D翻转效果

    本文链接:https://www.haomeiwen.com/subject/zwrhfftx.html