将加载器与页面中心对齐并向其中添加文本

问题描述

我设计了装载机,并将其放置在top:0 left:0 z:10text-align:center的中心。它没有定位到页面的中心。我还添加了一个名为“正在加载但未显示”的文本。

#container-sleftpinner {
  background: #ffffff;
  color: #666666;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 10;
  top: 0;
  left: 0;
  text-align: center;
  opacity: .80;
}

.loader,.loader:before,.loader:after {
  background: grey;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loader {
  color: grey;
  background-repeat: no-repeat;
  background-position: center;
  position: fixed;
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader:before,.loader:after {
  position: absolute;
  top: 0;
  content: '';
}

.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader:after {
  left: 1.5em;
}

.loader p {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 50%;
  display: inline-block;
  text-align: center;
  margin-bottom: -5em;
}

@-webkit-keyframes load1 {
  0%,80%,100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}

@keyframes load1 {
  0%,100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
<div id="container-spinner" style="display:block;">
  <div class="loader">
    <p>Loading...</p>
  </div>
</div>

解决方法

根据您的代码。

.container-spinner类提供以下内容,内容将居中。 我将显示更改为flex,并确保将其 hight:100vh填满整个页面,剩下的就是使用justify-contentalign-items将其垂直和水平居中(不要忘记删除内联样式以使其正常工作

    .container-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
}

result

编辑

根据您的要求。这是工作代码,其中显示了文本以及对HTML和CSS的所有更改。

enter image description here

.container-spinner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100vh;
}

#container-sleftpinner {
  background: #ffffff;
  color: #666666;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 10;
  top: 0;
  left: 0;
  text-align: center;
  opacity: 0.8;
}

.loader,.loader:before,.loader:after {
  background: grey;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loader {
  color: grey;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999em;
  margin: 10px auto;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader:before,.loader:after {
  position: absolute;
  top: 0;
  content: "";
}

.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader:after {
  left: 1.5em;
}

.container-spinner p {
  text-align: center;
}

@-webkit-keyframes load1 {
  0%,80%,100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}

@keyframes load1 {
  0%,100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
<div class="container-spinner">
  <div class="loader">
  </div>
  <p>Loading...</p>
</div>

如果这不起作用,请告诉我。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...