我想知道如何使用居中的微调器来覆盖整个页面的长度/宽度。
我在网上发现了以下微调器,它看起来很棒,但它们的叠加只占了整个页面的25%左右。我是一名后端开发人员,对CSS不太强。我需要做哪些调整才能使叠加层达到100%,并且endDate
增加,以便后面的元素不可点击?
z-index

.spinner {
margin: 100px auto;
width: 50px;
height: 40px;
text-align: center;
font-size: 10px;
}
.spinner>div {
z-index: 999;
background-color: black;
height: 100%;
width: 6px;
display: inline-block;
-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
animation: sk-stretchdelay 1.2s infinite ease-in-out;
}
.spinner .rect2 {
-webkit-animation-delay: -1.1s;
animation-delay: -1.1s;
}
.spinner .rect3 {
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
.spinner .rect4 {
-webkit-animation-delay: -0.9s;
animation-delay: -0.9s;
}
.spinner .rect5 {
-webkit-animation-delay: -0.8s;
animation-delay: -0.8s;
}
@-webkit-keyframes sk-stretchdelay {
0%,
40%,
100% {
-webkit-transform: scaleY(0.4)
}
20% {
-webkit-transform: scaleY(1.0)
}
}
@keyframes sk-stretchdelay {
0%,
40%,
100% {
transform: scaleY(0.4);
-webkit-transform: scaleY(0.4);
}
20% {
transform: scaleY(1.0);
-webkit-transform: scaleY(1.0);
}
}

答案 0 :(得分:3)
添加另一个容器来包装微调器:
<div class="loading">
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
</div>
使.loading
全宽/全高并固定位置:必要时添加z-index
.loading {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
将你的微调器放在中心位置:
.spinner {
position: absolute;
top: 50%;
left: 50%;
margin-top: -20px;
margin-left: -25px;
width: 50px;
height: 40px;
text-align: center;
font-size: 10px;
}
希望有所帮助
working copy
答案 1 :(得分:0)
有多种方法可以解决这个问题。
以下是其中之一:
将容器的位置设置为绝对值,并使用vw / vh(viewport-width,viewport-height)获取相关位置。
为了确保位置正好是中心,我使用了旋转器本身宽度/高度的一半。
.spinner {
width: 50px;
height: 40px;
text-align: center;
font-size: 10px;
position: absolute;
left: calc(50vw - 25px);
top: calc(50vh - 20px);
}
.spinner>div {
z-index: 999;
background-color: black;
height: 100%;
width: 6px;
display: inline-block;
-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
animation: sk-stretchdelay 1.2s infinite ease-in-out;
}
.spinner .rect2 {
-webkit-animation-delay: -1.1s;
animation-delay: -1.1s;
}
.spinner .rect3 {
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
.spinner .rect4 {
-webkit-animation-delay: -0.9s;
animation-delay: -0.9s;
}
.spinner .rect5 {
-webkit-animation-delay: -0.8s;
animation-delay: -0.8s;
}
@-webkit-keyframes sk-stretchdelay {
0%,
40%,
100% {
-webkit-transform: scaleY(0.4)
}
20% {
-webkit-transform: scaleY(1.0)
}
}
@keyframes sk-stretchdelay {
0%,
40%,
100% {
transform: scaleY(0.4);
-webkit-transform: scaleY(0.4);
}
20% {
transform: scaleY(1.0);
-webkit-transform: scaleY(1.0);
}
}
&#13;
<div class="spinner">
<div class="rect1"></div>
<div class="rect2"></div>
<div class="rect3"></div>
<div class="rect4"></div>
<div class="rect5"></div>
</div>
&#13;