假设我有一个表单,当用户单击时我希望另一个div(带有加载微调器)出现在表单的顶部,因此表单仍然可见,但加载微调器将位于表单的顶部:
<div id="form">
<p class="login-box-msg">Sign in to start your session</p>
<form action="javascript:void(0)" method="post" ng-controller="loginCtrl">
<div class="form-group has-feedback">
<input type="email" class="form-control" placeholder="Email" required ng-model="email">
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" placeholder="Password" required ng-model="password">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
</div>
<!-- /.col -->
<div class="col-xs-4">
<input type="button" class="btn btn-primary btn-block btn-flat" ng-click="signIn()" value="Sign In" />
</div>
<!-- /.col -->
</div>
</form>
<a href="#">I forgot my password</a><br>
</div>
<div id="loader" style="background: green;opacity: 0.5;filter: alpha(opacity=50); /* For IE8 and earlier */"></div>
我怎样才能做到这一点?
答案 0 :(得分:0)
<div id="form">
中的将以下内容作为第一个元素
<div style="position:absolute; width:inherit; height:inherit;">loading...</div>
答案 1 :(得分:0)
您可以使用position: absolute
或position: fixed
来实现这一目标。
绝对定位将根据您的top
,left
,bottom
和right
值定位元素,并将其从文本流中取出。这可能是你选择的方法。
固定定位也会这样做,除了div然后相对于浏览器窗口定位并且无论如何都将保持在这个位置,所以即使在页面上滚动,div也会保持固定在这个位置而不是滚动页面的其余部分。
答案 2 :(得分:0)
你可以使用伪元素:after, 使其位置绝对,并给它的高度和宽度100% 以及0的顶部和右侧。
像这样:#form {
position: relative;
}
#form:after {
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: #abc123; // put ur spinner here
z-index: 2; // make sure it is on top
}