javascript - 在 div 元素上使用 CSS Transform rotateY()

标签 javascript css flipboard

我有一个 div 元素“page”,它包含两个子 div“front”和“back”。我想用 transform rotateY(Ndeg) 做翻页效果。

this.$flippingPage.css({
    '-webkit-transform': 'rotateY(-' + angle + 'deg)',
    '-moz-transform': 'rotateY(-' + angle + 'deg)'
});

当我拖动页面时,会发生翻转效果..但问题是..它不稳定..有时首页显示,有时背面显示在顶部..我检查了'page'元素并更改了将值旋转 1 度,事实证明在一定程度上正面显示和其他 Angular 背面显示..它只发生在 Chrome 上(在 Firefox 上很好)。 我的预期行为是......例如从左向右翻转:前 90 度显示首页,后 90 度显示后页。不知道这是浏览器的问题还是我错过了任何条件检查...

最佳答案

这听起来像是背面可见性问题。确保将以下 CSS 添加到您的 div:

'front' 和 'back' div:-webkit-backface-visibility: hidden;

'页面' div: -webkit-transform-style: preserve-3d;

如果将 -webkit-perspective: 1000; 添加到包装“页面”的任何元素,您将获得更好的 3D 过渡。

更新:

Simplified CSS-only demo

关于javascript - 在 div 元素上使用 CSS Transform rotateY(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19345197/

相关文章:

javascript - CSS 翻页效果

Android Flipboard 样式库

javascript - 在输入字段内使用图标后,默认 'input is required/Please fill out this field' 消息不显示

javascript - 无法利用 jsfiddle 来工作

html - DIV 在相对定位的 DIV 的中心垂直和水平对齐

java - Android 的翻转板菜单样式

javascript - 我如何在不同的 php 页面上回显范围 slider 的实时值?

javascript - Breeze js : inlineCount is no longer part of the response

jquery - 排空时重新计算高度

html - 有没有办法知道 html 中使用了 css 文件中的哪个元素?