Мой css код анимации не работает гладко - PullRequest
1 голос
/ 25 апреля 2020

Здравствуйте! Я хочу иметь плавную анимацию ввода в css, но мой код не работает гладко. Мой текст внезапно появляется на экране. Вот мой css код:

.title-text {
    white-space: nowrap;
    overflow: hidden;
    animation: typing 4s steps(40) 1s 1 normal both;
}

@keyframes typing {
    from {
        width: 0;
    }
    to {
        width: fit-content;
    }
}

Заранее спасибо

Ответы [ 4 ]

1 голос
/ 25 апреля 2020

Вы должны передать указанную c ширину. Похоже, что fit-контент не работает.

.title-text {
  white-space: nowrap;
  overflow: hidden;
  animation: typing 4s steps(40) 1s 1 normal both;
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 200px;
  }
}
0 голосов
/ 25 апреля 2020

Может быть, вы можете попробовать это:

.title-text h1 {
     overflow: hidden;
     border-right: .15em solid orange;
     white-space: nowrap;
     margin: 0 auto;
     letter-spacing: .15em;
     animation: 
        typing 3.5s steps(30, end),
        blink-caret .5s step-end infinite;
 }

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

 @keyframes blink-caret {
     from, to { border-color: transparent }
     50% { border-color: orange }
 }

HTML:

<div class="title-text">
  <h1>This is a Heading.</h1>
</div>
0 голосов
/ 25 апреля 2020

Этого можно добиться с помощью transform: scaleX(n), где n переходит от 0 к 1:

.title-text{
    white-space: nowrap;
    overflow: hidden;
    animation: typing .4s steps(40) 0s 1 normal both;
    display:inline-block;
    transform-origin:left;
}

@keyframes typing{
    from{
        transform: scaleX(0);
    }to{
        transform: scaleX(1)
    }
}
<div class="title-text">This is the title</div>
0 голосов
/ 25 апреля 2020

Попробуйте этот код

.title-text{

    white-space: nowrap;
    overflow: hidden;
    animation: typing 1s steps(40) 1s 4 normal both;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...