在加载微调器的右侧添加文本

时间:2019-06-26 07:07:29

标签: html css spinner

我已经做过一些研究,最终得到this,但是文本在加载微调器的底部,我想像{{3}中的文本一样将文本对齐到加载微调器的右侧。 },有人可以帮忙吗?预先感谢。

.preloader-wrapper { 
    background: rgba(22, 22, 22, 0.3); 
    width: 100%; height: 100%; 
    position: fixed; 
    top: 0;
    left: 0;
    z-index: 10;
}

.preloader-wrapper > .preloader { 
    background: transparent url(https://graphiclineweb.files.wordpress.com/2013/10/ajaxloader.gif?w=604) no-repeat center top;
    position: absolute;
    min-width: 128px; /* image-width of loader */
    min-height: 128px; /* image-height of loader */
    box-sizing: border-box;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding-top: 148px; /* 128px image-height of loader + 20px margin */
    text-align: center;
}
.preloader-wrapper::after{
  content: "loading text";
}
<div class="preloader-wrapper">
    <div class="preloader">
       Loading...<br/>
       And whatever you want to have here.
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

您应该使用flexbox来居中,而不是使用绝对位置并通过填充来定位文本本身。

以下内容将只显示包装中居中的所有内容(水平和垂直)。

.preloader-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

那是说,您仍然需要将文本也移到专用容器中,以便标记看起来像这样。

<div class="preloader-wrapper">
  <div class="preloader">
  </div>
  <div class="preloader-text">
      Loading...<br/> And whatever you want to have here.
  </div>
</div>

Demo

答案 1 :(得分:0)

我已根据您的代码创建了一个新的提琴,我将父级设置为一个弹性项目,该项目将在水平方向上将两个子项目在水平和垂直方向上居中对齐,请阅读{{3} }以更好地了解它

  .preloader-wrapper {
      display: flex;
      justify-content: center;
      background: rgba(22, 22, 22, 0.3);
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10;
      align-items: center;
    }

    .preloader-wrapper>.preloader {
      background: transparent url(https://graphiclineweb.files.wordpress.com/2013/10/ajaxloader.gif?w=604) no-repeat center top;
      min-width: 128px;
      min-height: 128px;
    }
    <div class="preloader-wrapper">
      <div class="preloader">

      </div>
      <div class="text">
        Loading...<br/> And whatever you want to have here.
      </div>
    </div>