我尝试创建一个覆盖整个屏幕的overlay-div - 除了3em到底部。我认为我的尝试不是最佳选择:
<div id="background"></div>
<div id="overlay"></div>
CSS:
#background {
background-color: #ddd;
width: 100%;
height: 100%;
}
#overlay {
position: absolute;
height: 100%;
background-color: #fff;
width: 100%;
top: -3em;
-webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.3);
box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.3);
z-index: 1;
}
有了这个,我想在叠加层上下滑动。但是使用上面的CSS,我不知道如何完全动画,因为'-55em'在较低的屏幕分辨率上太多或者在较高的分辨率上不够:
JS:
$('#overlay').animate({'top':'-55em'}, 1000, function() {
$('#overlay').animate({'top':'-3em'}, 1000);
});
答案 0 :(得分:1)
我认为您应该更改高度而不是顶部,这样可以节省您的典型计算
$('#overlay').animate({'height':'0%'}, 1000, function() {
$('#overlay').animate({'height':'100%'}, 1000);
});
&#13;
#background {
background-color: #ddd;
width: 100%;
height: 100%;
}
#overlay {
position: absolute;
height: 100%;
background-color: #fff;
width: 100%;
top: -3em;
-webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.3);
-moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.3);
box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.3);
z-index: 1;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="background"></div>
<div id="overlay"></div>
&#13;