在我淡入之前,如何让弹性框不成为页面的一部分?我曾经用’display:0;‘来做到这一点然后使用 jQuery .fadeIn()。但是现在如果我将 display 设置为 0,当我将它淡入时,我当然会失去盒子的灵活性。如果我使用 jQuery 将 display 设置为 flex,那么它只会出现,而不是淡入。
HTML
<div class="" id="popupContainer">
<div class="flex-item-popup" id="popup">
<div class="close"><i class="fa fa-2x fa-times-circle"></i></div>
<h2></h2>
<div class='text'></div>
<div class="videos"></div>
<div class="flex-container images"></div>
</div>
</div>
CSS
#popupContainer {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display:flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-content: flex-start;
align-items: center;
z-index: 15;
}
jQuery
$(document).ready(function() {
//???
});
原文由 LauraNMS 发布,翻译遵循 CC BY-SA 4.0 许可协议
这似乎有点奇怪,但你可以做的是在 css 中,将其设置为
display: none
。然后诀窍是在你的jQuery中设置display
到flex
然后再次隐藏它,然后fadeIn
:CSS :
JS :
这是因为
fadeIn()
会将项目设置回其先前的非隐藏display
值。因此设置flex
并重新隐藏它将设置此“默认值”以将其设置回。http://jsfiddle.net/z2kxyjcq/1/