【发布时间】:2017-10-20 18:59:10
【问题描述】:
我正在尝试淡入屏幕上除图像之外的所有内容。我希望图像transform: scales(); 更大,而不是回到原始大小。我有两个容器框,其中包含一些文本和一个我想在图像之后全部淡入的表单。
我可以让图像设置动画,然后其他所有内容都会淡入,但 div 容器本身不会设置动画。所以屏幕上会出现两个空框,图片动画,然后div的内容淡入。
这是我的代码:
.fadeIn :not(#ipad) {
-webkit-animation: fadeIn 3s ease;
-moz-animation: fadeIn 3s ease;
-ms-animation: fadeIn 3s ease;
-o-animation: fadeIn 3s ease;
animation: fadeIn 3s ease;
}
<div class="title fadeIn" id="title"><b>Curriculum and Instruction iPad Setup</b></div>
<div class="info-container fadeIn" id="info-container">
<img src="img/IPad_3.png" id="ipad">
<form action="login_complete.php" method="post" id="loginForm">
<div class="campus-container">
<input type="radio" name="campus" value="STE" /><span><b>Stephenville</b></span>
<input type="radio" name="campus" value="FTW" /><span><b>Fort Worth</b></span>
</div>
<input type="submit" value="Submit" onclick="loadingSpinner();" />
</form>
</div>
当我取消:not(#ipad) 时,包括图像在内的所有内容都会一起淡入。我希望图像不会在动画中出现淡入淡出。
我查看了here,但这似乎不起作用。我也找到了this,但也没找到。
已编辑:
很抱歉没有足够的css代码:
淡入
@keyframes fadeIn {
0% { opacity: 0; }
50% { opacity: 0; }
100% { opacity: 1; }
}
图像动画
@keyframes zoomOut {
0% {
opacity: 0;
}
5% {
opacity: 1;
}
50% {
-webkit-transform: scale(5);
-moz-transform: scale(5);
-ms-transform: scale(5);
-o-transform: scale(5);
transform: scale(5);
}
100% { }
}
【问题讨论】:
-
如果一开始#Ipad 是隐藏的,它确实不会显示出来。你需要从一开始就显示一个指定的样式....如果我理解这个问题。 您没有分享足够的 CSS 来实际展示您的问题 ...此评论只是猜测。请将缺少的 CSS 添加到您的 sn-p 以实际显示您的问题:)
-
您只向我们展示了您的动画的名称,而不是它实际动画的属性。我猜你正在为不透明度设置动画?那么你想要的使用这种结构是不可能的,你不能为后代元素“反转”不透明度,见stackoverflow.com/q/19457057/1427878
-
#ipad 根本没有隐藏。它似乎只是跟随父容器,我想知道是否有办法让它与父容器分开。