更新2:
现在在Chrome 31.0.1650.34 beta中运行下面的JSFiddle 不会
导致所描述的行为,即它不会“随着JavaScript的启动而冻结”。我只能假定他们已经将CSS转换放置在与JavaScript分开的单独线程上,以及页面的其余部分-
好消息!冻结/阻止的过渡仍会在Firefox 25.0中出现。
更新1:
@IvanCastellanos提到在Android Chrome上 没有 阻止CSS过渡和动画。这是非常有用的信息,部分地激发了这个问题。
原始问题:
对于浏览器供应商来说,这可能是一个更大的问题,但这是可行的:到目前为止,这段视频(和其他视频)给我的印象是,转换CSS的不透明度实际上不会受到
任何 性能问题的困扰。
保罗·爱尔兰(Paul Irish)在视频中特别给人的印象是,过渡的不透明度将不再是问题,“否则,告诉您的任何人都……是错误的”。
好吧,如果是这样, *
考虑到Paul的非凡主张,为什么CSS转换会被JavaScript阻止? 动画也是如此,这是怎么回事?
(对于你们中的一些人来说,要么看不见我所看到的东西,要么懒得看小提琴:我看到一个红色正方形将其变成淡入过渡的大约1/5,然后随着JavaScript的加入而冻结,然后方块跳到完全不透明过渡的结尾,大概是因为在执行JavaScript时达到了持续时间。)
鉴于要求我发布一些代码,因为我要链接到jsfiddle,因此这里是相对的JavaScript和CSS:
(function () {
"use strict";
var isVisible = false;
function handleClick() {
var fadingSquare = document.querySelector(".fadingSquare"),
i;
if (isVisible === false) {
fadingSquare.className = fadingSquare.className + " active";
// Do something intensive in JavaScript for a while
setTimeout(function () {
for(i = 0; i < 10000; i += 1) {
console.log(i);
}
}, 200); // Make it occur midway through the CSS transition
isVisible = true;
} else {
fadingSquare.className = fadingSquare.className.replace("active", "");
isVisible = false;
}
}
document.addEventListener("click", handleClick, false);
}());
和CSS:
.fadingSquare {
width: 200px;
height: 200px;
background: #F00;
opacity: 0;
-webkit-transition-property: opacity;
-webkit-transition-duration: 1s;
}
.fadingSquare.active {
opacity: 1;
}
问题内容: 因此,我了解了如何同时执行CSS3过渡和动画。我用谷歌搜索的不清楚是什么时候使用它。 例如,如果我想使球弹跳,很明显,动画是必经之路。我可以提供关键帧,而浏览器将做中间帧,并且我将获得一个不错的动画。 然而,在某些情况下,无论哪种方式都可以达到上述效果。一个简单而常见的示例是实现Facebook风格的滑动抽屉菜单: 可以通过以下过渡来实现此效果: 或者,通过类似这样的动画: 使用HTM
我想要一个div从右边滑入角2使用CSS。 如果我只使用[ngClass]来切换类和使用不透明度,我就能正常工作。但是li不想从一开始就呈现该元素,所以我首先用ngIf“隐藏”它,但是之后的过渡就不起作用了。
本文向大家介绍过渡和动画的区别是什么?相关面试题,主要包含被问及过渡和动画的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 相同:都会让你的页面元素动起来 区别: 过渡 transition 1.需要事件触发,比如hover,focus,checked , js改, @media query 2.一次性的 3.只能定义开始和结束状态,不能定义中间状态 举例: 动画 animation 1.
问题内容: 我希望div使用CSS从右角2滑入。 如果我仅使用[ngClass]来切换类并利用不透明性,则可以正常工作。但是li不想从一开始就渲染该元素,因此我先用ngIf“隐藏”了它,但是之后过渡将无法工作。 问题答案: 更新4.1.0 柱塞 另请参见https://github.com/angular/angular/blob/master/CHANGELOG.md#400-rc1-2017-
问题内容: 我想创建仅由类名支持的展开/折叠动画(使用JavaScript来切换类名)。 我要上一堂课 另一个(我也尝试过value ,它根本没有动画) 进行动画处理: 我使用CSS过渡在它们之间进行切换,但是浏览器似乎在为所有这些多余的动画设置动画,因此它会延迟折叠效果。 有没有办法做到这一点(本着同样的精神- 使用CSS类名)没有副作用(我可以减少像素数,但是显然有缺点,因为它可能会切断合法文