【问题标题】:Card Flip animation in HTML CSS not working in IEHTML CSS 中的卡片翻转动画在 IE 中不起作用
【发布时间】:2018-06-16 03:05:14
【问题描述】:

此卡片剪辑 HTML 组件仅使用 HTML 和 CSS,它可以在 IE11 上运行。在 IE11 上,它又慢又迟钝。当我删除 backface-visibility:hidden 时,它可以在 IE11 上完美运行,但我显然需要这条线。

有哪些潜在的修复方法

https://codepen.io/anon/pen/pKWPVb

<div class="card">
  <div class="card__side card__side--front">

  </div>

  <div class="card__side card__side--back ">

  </div>
</div>

CSS

 .card {
  width: 200px;
  perspective: 150rem;
  -moz-perspective: 150rem;
  position: relative;
  height: 52rem;

}
.card__side {
  border-radius: 3px;
  overflow: hidden;
  background: #808080;
  height: 50rem;
  width: 100%;
  transition: all 800ms ease;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
}
.card__side--front {
  background: red;
  z-index: 1;

}
.card__side--back {
  transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
}
.card:hover .card__side--front {
  transform: rotateY(-180deg);
  -ms-transform: rotateY(-180deg);
}
.card:hover .card__side--back {
  transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
}

html {
  font-size: 5px;
}

【问题讨论】:

标签: html css


【解决方案1】:

IE 中的问题是由转换引起的。 如果您不需要使用 2 个 div 元素,我建议您这样做:

   <div class="card">

  <div class="card__side card__side--back ">

  </div>
</div>



   .card {
  width: 200px;
  perspective: 150rem;
  -moz-perspective: 150rem;
  position: relative;
  height: 52rem;

}
.card__side {
  border-radius: 3px;
  overflow: hidden;
  background: #808080;
  height: 50rem;
  width: 100%;
  transition: all 800ms ease;
  position: absolute;
  top: 0;
  left: 0;
  //backface-visibility: hidden;
}

.card__side--back {

  transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
}

.card:hover .card__side--back {
  transform:  rotateY(0deg);
   background: red;
  -ms-transform: rotateY(0deg);
  -webkit-transform: rotateY(0deg);
}

html {
  font-size: 5px;
}

【讨论】:

  • 这违背了整个交互的目的。它应该滑到另一边
  • 观点是一样的。 div 翻转并改变颜色。如果您需要两个 div 用于其他目的,那么我的建议将不符合您的需求..
  • 我需要两个 div,因为一侧应该有文本内容,另一侧也应该有
猜你喜欢
  • 2015-06-04
  • 2013-11-01
  • 1970-01-01
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 2014-09-27
  • 1970-01-01
相关资源
最近更新 更多