могу ли я замедлить эту анимацию в css?

#html #css-animations

Вопрос:

Что происходит с этим кодом ? как он функционирует и как я могу изменить его анимацию ?

 h2 {
  font-family: cursive;
}

h1 {
  color: brown;
  overflow: hidden;
  /* Ensures the content is not revealed until the animation */
  border-right: .15em solid orange;
  /* The typwriter cursor */
  white-space: nowrap;
  /* Keeps the content on a single line */
  margin: 0 auto;
  /* Gives that scrolling effect as the typing happens */
  letter-spacing: .15em;
  /* Adjust as needed */
  animation: typing 4.5s steps(450, end), blink-caret .95s step-end infinite;
} 
 <h1>Hi</h1> 

Комментарии:

1. css-tricks.com/snippets/css/typewriter-effect

2. Код неполон. Пожалуйста, добавьте код для animation typing

Ответ №1:

Вы можете изменить свойства анимации, отредактировав стенографию анимации, канонический порядок стенографии анимации выглядит следующим образом:
animation: keyframesName animation-duration animation-iteration-count Вы можете замедлить анимацию, увеличив продолжительность анимации в CSS следующим образом:

 h1 {
  color: brown;
  overflow: hidden;
  /* Ensures the content is not revealed until the animation */
  border-right: .15em solid orange;
  /* The typwriter cursor */
  white-space: nowrap;
  /* Keeps the content on a single line */
  margin: 0 auto;
  /* Gives that scrolling effect as the typing happens */
  letter-spacing: .15em;
  /* Adjust as needed */
  animation: typing 8s steps(450, end), blink-caret .95s step-end infinite;
}
 

таким образом, в приведенном выше CSS время в стенографии анимации изменяется.

Кроме того, ваша анимация не работает, потому что вы не указали ключевые кадры, просто укажите ключевые кадры, которые доступны по ссылке, указанной вами в комментарии.

Ответ №2:

 <html>
  <head>
    <style>
h1 {
  font-family: cursive;
}

h1 {
  
  background-color: red;
  animation-name: example;
  animation-duration: 9s;
}

@keyframes example {
  from {background-color: red;}
  to {background-color: blue;}
}
</style>
  </head>
<body>

<h1>Hi</h1>

</body>
</html> 

здравствуйте, ваш код неполон .
Ваш код должен выглядеть так же, как описано выше, и к нему должны быть применены теги.
Когда вы указываете стили CSS в правиле @keyframes, анимация будет постепенно меняться с текущего стиля на новый в определенное время.
В следующем примере анимация «пример» привязывается к элементу. Анимация продлится 9 секунд, и она будет постепенно менять цвет фона элемента с «красного» на «синий».

Ответ №3:

Да, вы можете замедлить его, добавив некоторые функции, такие как увеличение секунд анимации

 animation:10s
 

также Вы можете использовать этот код здесь

     h1 {
  width: 100px;
  height: 100px;
  background-color: red;
  position: relative;
  animation-name: example;
  animation-duration: 10s;
  animation-timing-function: linear;
  animation-delay: 2s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
 

Ответ №4:

Одна из альтернатив, которую вы можете использовать в своем текущем методе, — это изменить ширину и положение h1, чтобы ваша анимация могла полностью распространяться только по тексту.

Прямо сейчас ваш заголовок расширяет всю ширину браузера, поэтому, экспериментируя, мы можем сделать вывод , что это так 50px , а затем использовать float: left

Далее нам нужно отредактировать анимацию. Обычно мы хотели бы, чтобы одновременно появлялась 1 буква, поэтому, поскольку слово «привет» состоит из двух букв, мы можем сделать это за 2 шага и за 1 секунду (время анимации полностью зависит от вас).

Поместив это в целом, вместе с редактированием анимации:

 h2 {
    font-family: cursive;
  }
  
  h1 {
    width: 50px;
    float: left;
    color: brown;
    overflow: hidden;
    /* Ensures the content is not revealed until the animation */
    border-right: .15em solid orange;
    /* The typwriter cursor */
    white-space: nowrap;
    /* Keeps the content on a single line */
    margin: 0 auto;
    /* Gives that scrolling effect as the typing happens */
    letter-spacing: .15em;
    /* Adjust as needed */
    animation: typing 1s steps(2), blink .5s infinite alternate;
  }
    
    /* text animation */
    
    @keyframes typing{
      0%{
        width: 0
      }
    }
    
    /* cursor animations */
    
     @keyframes blink{
        50% {
          border-color: transparent
        }
      }    
 

Если вы хотите, чтобы анимация была медленнее, вы можете увеличить время, необходимое для завершения анимации, отредактировав эту строку (вы увеличили бы 1 с после ввода до примерно 2 с).:

     animation: typing 1s steps(2), blink .5s infinite alternate;