奇怪的像素移动/跳跃在Firefox与CSS过渡
Strange Pixel Shifting / Jumping in Firefox with CSS Transitions
问题:
我正在使用CSS使卡片翻转并显示小猫。有一种行为似乎只存在于Firefox中,它会不断地移动/调整图像的大小。只需将鼠标悬停在卡片背面,在缩放动画完成后,观察它在周围移动一点,然后通过点击卡片来翻转卡片,观察小猫在动画完成后如何重新调整其位置和大小。
同样,这不会发生在Chrome和Internet Explorer中。谁能解释一下是什么引起的或提供补救措施?
小提琴:
http://jsfiddle.net/XEDEM/1/代码:
$('.card').mouseover(function() {
$(this).css({
'transform': 'scale(1.2)',
'-webkit-transform': 'scale(1.2)',
'transition': 'transform 500ms',
'-webkit-transition': '-webkit-transform 500ms'
});
}).mouseleave(function() {
$(this).css({
'transform': 'scale(1)',
'-webkit-transform': 'scale(1)',
'transition': 'transform 500ms',
'-webkit-transition': '-webkit-transform 500ms'
});
}).mousedown(function() {
$('div.back').css({
'transform': 'perspective(1000px) rotateY(-180deg) translateZ(0)',
'-webkit-transform': 'perspective(1000px) rotateY(-180deg)',
'transition': 'transform 800ms ease-in-out 300ms',
'-webkit-transition': '-webkit-transform 800ms ease-in-out 300ms'
});
$('.hide').show();
$('div.front').css({
'transform': 'perspective(1000px) rotateY(0) translateZ(0)',
'-webkit-transform': 'perspective(1000px) rotateY(0)',
'transition': 'transform 800ms ease-in-out 300ms',
'-webkit-transition': '-webkit-transform 800ms ease-in-out 300ms',
'backface-visibility': 'hidden',
'-webkit-backface-visibility': 'hidden'
});
});
经过一番热心的研究,这是一个已知的问题 Firefox的亚像素渲染。可以在这里和这里找到更明显的效果证明。这种现象被称为"像素捕捉",它在Firefox的动画中经常出现,特别是在过渡结束时。
在Bugzilla线程中也提出的解决方案是将rotate(0.0001deg)
添加到缩放变换中。这大大减少了影响,但并没有完全消除它。然而,这是我所能期望的最好结果,所以我接受它作为答案。
相关文章:
- 设置 CSS 背景在 Firefox 中不起作用
- firefox中的CSS动画不起作用
- javascript and css firefox issue
- 如何在HTML / CSS中填充垂直和滚动中间窗格(Chrome可以工作,但不能Firefox)
- css:拖动图像不'不适用于Firefox
- 动态修改CSS-适用于IE9,但不适用于Chrome和Firefox
- CSS/JQuery/Javascript加载图标仅适用于firefox
- Firefox断开页面;不显示图像或CSS样式
- Firefox中的CSS圆角边框
- JQuery CSS Transform在Chrome和Firefox中工作,但不能在IE中工作
- CSS 在 JS 之前,在 Firefox 中闪烁白色
- 为什么 JavaScript 执行会影响 Firefox 中的 css 动画和动画 gif
- 在Firefox和IE中获取CSS属性时遇到麻烦
- Backbone.js - CSS更改正在等待JavaScript完成 - 在Firefox中工作,而不是在Chrome
- 关闭 Firefox 扩展程序中的 CSS 文件缓存
- 删除 CSS 规则在 Firefox 中不起作用
- 获取字体css属性在IE和Firefox中使用jQuery不起作用
- CSS 转换在 Firefox 上不起作用
- Firefox CSS transitions with body overflow:hidden
- firefox CSS转换错误