如何使CSS中的打字机动画响应?

eeq64g8w  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(81)

当屏幕是桌面大小的时候,我可以让它在一行中工作,但是当我把屏幕变小的时候,我就不能让它在多行中工作。
我知道我可以用媒体查询来缩小文本,但老实说,如果它停留在一行中,看起来很奇怪。
超文本标记语言:

<div class="bg-video-wrapper">
    <div class="typewriter">
    <h1>Budi izvrstan u onom što voliš.</h1>
</div>

字符串
CSS:

.bg-video-wrapper h1{
    position: absolute;
    inset: 0;
    margin: auto;
    max-width: 50rem;
    height: 3rem;
    color: var(--white-color);
    text-align: center;
}

/* typing animation - budi izvrstan*/
.typewriter h1{
    overflow: hidden;
    border-right: 1px solid var(--yellow-color);
    padding-right: 10px;
    white-space: nowrap;
    letter-spacing: 6px;
    animation: 
        typing 7s steps(40, end) infinite,
        blink-cursor .75s step-end infinite;
}

@keyframes typing {
    from{
        width: 0;
    }
    to{
        width: 100%;
    }
}

/* typewriter cursor effect */
@keyframes blink-cursor {
    from, to {border-color: transparent;}
    50%{border-color: var(--yellow-color);}
}


`

qhhrdooz

qhhrdooz1#

这是我试过的代码,它在小屏幕上将句子分成2行,并进行动画。

更新CSS代码

.bg-video-wrapper h1 {
  margin: auto;
  max-width: 50rem;
  color: var(--white-color);
  text-align: center;
  height: auto;
  word-wrap: break-word;
  white-space: normal;
}

.typewriter h1 {
  position: absolute;
  z-index: 3;
  inset: 0;
  margin: auto;
  max-width: 100%;
  height: 3rem;
  color: var(--white-color);
  text-align: center;
  overflow: hidden;
  padding-right: 10px;
  /* white-space: nowrap; */
  white-space: pre-wrap;
  letter-spacing: 6px;
  border-right: 1px solid var(--yellow-color);
  animation: typing 7s steps(40, end) infinite, blink-cursor 0.75s step-end infinite;
}

/* Media query for smaller screens */
@media screen and (max-width: 768px) {
  .typewriter h1 {
    height: 6rem;
  }
}

字符串

相关问题