在同一行显示CSS加载器和文本

c7rzv4ha  于 2023-01-18  发布在  其他
关注(0)|答案(3)|浏览(98)

我有一个自定义的CSS加载器动画,我想显示旁边的文本元素在同一行,但到目前为止,我还没有管理它。

#loader{
  display:none;
}

#loader.active{
  display:block;
}
.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}

.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid black;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: black transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}

.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}

.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
<p class="mytext"> LOADING </p>

<div id="loader">
  <div class="lds-ring">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </div>
</div>

如何在同一行中的'mytext'元素右侧显示动画?

0ejtzxu1

0ejtzxu11#

你可以把两个元素都 Package 在一个div中,我们给予它一个类名'flex':

<div className="flex">
      <p className="mytext"> LOADING </p>

      <div class="loader">
        <div class="lds-ring">
          <div></div>
          <div></div>
          <div></div>
          <div></div>
        </div>
      </div>
    </div>

然后将此CSS属性添加到该div:

.flex {
  display: flex;
  align-items: center;
}

这样就能按你的要求排列了。

shstlldc

shstlldc2#

pdiv元素在大多数浏览器中默认为display: block;。要将它们显示在彼此旁边,请将.mytext#loader.activedisplay属性设置为inline-block

.mytext {
    display: inline-block;
}
#loader.active {
    display: inline-block;
}

这会将它们设置为彼此相邻。您还可以使用widthmax-widthmin-width属性调整每个元素的宽度。使用vertical-align可以将元素顶部、中部和底部对齐。

xdnvmnnf

xdnvmnnf3#

你可以指定它旁边的代码

<span id="loader-text">loading...</span>

而不是大量代码。

相关问题