我创建了一个动画来淡出 DIV,然后将其大小缩小到零(因为我不能使用 display: none; 在动画中)。动画在 Google Chrome 和 FireFox 中运行良好,但在 Internet Explorer 10 中,页面似乎停止加载,直到动画完成。因此,通常 DIV 应该在页面加载期间与其他所有内容一起出现,然后在 3 秒延迟后它应该淡出并缩小,以便页面的其余部分向上滑动以填充空白空间。但是,在 IE10 中,出现了 DIV,但 DIV 下面的其余内容并没有……只是空白。几秒钟后,内容在 DIV 开始淡出时加载。
起初,我认为“动画延迟:3s”也在延迟页面加载,所以我尝试将动画更改为不使用延迟,而是在第一个没有更改 DIV 的情况下拥有更多关键帧0-66%,然后 66-88 会淡出,88-100 会缩小。这并没有解决问题,并且这个新动画在 chrome/firefox 中再次正常工作,但在 IE10 中也出现了同样的问题。
下面是我的代码。我知道一种解决方案是隐藏 div,然后在页面加载时我可以使用 JavaScript 修改 CSS 以显示 DIV 并添加带有动画的类......但是,我想只用 CSS 来解决这个问题,因为我正在开发的整个网络应用程序都使用了这个动画,所以如果我们使用 javascript,它会为使用动画的任何人添加工作。
将 Asp.Net MVC 4 与剃须刀视图、.net 4.5 和 Bootstrap CSS 一起使用
NOTE: I used Visual Studio w/ Web Essentials to copy vendor specifics, so all the vendor specific CSS has identical values for everything.
.successFadeOut {
display: block !important;
animation: successFadeOutAnimation;
animation-duration: 1.5s;
animation-delay: 3s;
animation-fill-mode: forwards;
}
@keyframes successFadeOutAnimation {
0% {
opacity: 1;
height: auto;
padding-top: 8px;
padding-bottom: 8px;
margin-top: 0px;
margin-bottom: 20px;
line-height: 20px;
}
70% {
opacity: 0;
height: auto;
padding-top: 8px;
padding-bottom: 8px;
margin-top: 0px;
margin-bottom: 20px;
line-height: 20px;
}
100% {
opacity: 0;
height: 0px;
padding-top: 0px;
padding-bottom: 0px;
margin-top: 0px;
margin-bottom: 0px;
line-height: 0px;
}
}