【问题标题】:Backface Visibility not working on children背面可见性不适用于儿童
【发布时间】:2015-06-17 12:04:19
【问题描述】:

此解决方案 (Webkit backface visibility not working) 不起作用,因为我希望在容器内有其他应显示背面的转换对象。

.container {
  position: relative;
  transform-origin: 50% 50% 0;
  transition: transform 1s ease 0s;
  width: -moz-min-content;
  width: -webkit-min-content;
}
.container img {
  backface-visibility: hidden;
}
input:checked + .container {
  transform: rotateY(180deg);
}
<input type="checkbox" name="" id="" />
<div class="container">
  <img src="http://jsequeiros.com/sites/default/files/imagen-cachorro-comprimir.jpg" alt="" />
</div>

那只猫的背面不应该是可见的。这个问题有什么解决办法吗?

【问题讨论】:

  • 你的问题到底是什么?
  • 标题说的是:图像转动时,两个面都是可见的,但背面应该是不可见的

标签: css css-transforms


【解决方案1】:

我终于发现了如何解决这个问题! 问题是 3d 没有影响图像。只需添加属性:transform-style: preserve-3d; 将图像包含为“3d 世界”的一部分。以前,背面属性不起作用,因为它真的不是 3d!这就像在父级表面上绘制的纹理。现在它是一个包含所有组件的 3d 实体,它可以在 3d 中转换而不会折叠到父级的表面。

.container {
  position: relative;
  transform-origin: 50% 50% 0;
  transition: transform 1s ease 0s;
  width: -moz-min-content;
  width: -webkit-min-content;
  transform-style: preserve-3d;
}
.container img {
  backface-visibility: hidden;
}
input:checked + .container {
  transform: rotateY(180deg);
}
<input type="checkbox" name="" id="" />
<div class="container">
  <img src="http://jsequeiros.com/sites/default/files/imagen-cachorro-comprimir.jpg" alt="" />
</div>

【讨论】:

  • 注意“-webkit-transform-style:preserve-3d;”适用于 Chrome、Safari 和 Opera。我忘记了这一点并开始进行各种操作,直到我发现这个答案并理解我忘记了 -webkit-version ,因为我在 Safari 中进行测试。谢谢你为我节省了很多时间!!! :D
  • 非常感谢!
【解决方案2】:

编辑 在要转换的元素上设置 backface-visibility: hidden; 解决问题

.container {
  position: relative;
  transform-origin: 50% 50% 0;
  transition: transform 1s ease 0s;
  width: -moz-min-content;
  width: -webkit-min-content;
}
.container{
  backface-visibility: hidden;
  
}
input:checked + .container {
  transform: rotateY(180deg);
}
<input type="checkbox" name="" id="" />
<div class="container">
  <img src="http://todofondosdeamor.com/wp-content/uploads/images/48/gatitos-1__400x300.jpg" alt="" />
</div>

【讨论】:

  • 恐怕容器不能隐藏背面可见性。如果可以的话,答案就是改造它。这就是为什么我说我链接的解决方案在这种情况下没有用。
  • 你正在旋转.container
  • 是的,但我不想隐藏容器内的每个对象背面,只隐藏那个图像
猜你喜欢
  • 2015-09-20
  • 2013-02-12
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-07
  • 2012-05-25
  • 2020-08-23
相关资源
最近更新 更多