Изменить часть текста с помощью CSS-анимации

У меня есть текст на HTML-странице, и я хочу изменить его часть с помощью анимации.

Я нашел этот вопрос, но он не работает в моем случае или кажется не тем решением, которое я искал. Вот мой код:

.change:before {
  content: '2';
  opacity: 1;
  animation-name: change-letter;
  animation-duration: 10s;
  animation-iteration-count: infinite;
}

@keyframes change-letter {
  0% { opacity: 0.5; }
  17% { opacity: 0; content: "3"; }
  34% { opacity: 0.5; }
  50% { opacity: 1; }
  66% { opacity: 0.5; }
  85% { opacity: 0; content: "2"; }
  100% { opacity: 0.5; }
}
<span>My application version <span class = "change"></span></span>

Как видите, анимация работает не так, как ожидалось. Я имею в виду, что «2» появляется два раза перед «3», а затем снова появляется «2» с непрозрачностью 1 вместо 0,5. Пожалуйста, внимательно изучите код CSS и анимацию. Кажется, что код CSS не соответствует каждому шагу анимации. Можете ли вы понять, что не так с моим кодом? Как сделать так, чтобы финальная часть текста менялась правильно?

Пожалуйста, уточните вашу конкретную проблему или добавьте дополнительные детали, чтобы выделить именно то, что вам нужно. В том виде, в котором он сейчас написан, трудно точно сказать, о чем вы спрашиваете.

Paulie_D 01.07.2019 16:27

«не работает, как ожидалось» — вы забыли упомянуть, каковы ваши ожидания и чем они отличаются от результатов.

Peter B 01.07.2019 16:29

Я отредактировал свой вопрос. Надеюсь теперь понятно. Спасибо.

smartmouse 01.07.2019 16:34
before { content: '2'; ==> before { content: '4'; ?
Mister Jojo 01.07.2019 16:37
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
4
364
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пожалуйста, проверьте это

.change:before {
  content: '2';
  font-size: 100%;
  animation-name: change-letter;
  animation-duration: 5s;
  animation-iteration-count: infinite;
}

@keyframes change-letter {
  5% {
    opacity: 1;
    content: "2"
  }
  20% {
    opacity: 0.5;
    content: "2"
  }
  40% {
    opacity: 0;
    content: "2"
  }
  45% {
    opacity: 0;
    content: "3"
  }
  60% {
    opacity: 0.5;
    content: "3"
  }
  80% {
    opacity: 1;
    content: "3"
  }
  100% {
    opacity: 0;
    content: "3"
  }
  0% {
    opacity: 0;
    content: "2"
  }
}
<span>My application version <span class = "change"></span></span>

Он все еще работает плохо... Вы видите, что "2" мигает два раза, прежде чем появится "3"?

smartmouse 01.07.2019 17:00

каковы ваши ожидания, не могли бы вы сказать мне только требование

Irin 01.07.2019 17:04

«2» имеет непрозрачность 1 -> непрозрачность 0,5 -> непрозрачность 0; затем появляется «3» с непрозрачностью 0,5 -> непрозрачность 1 -> непрозрачность 0,5 -> непрозрачность 0; затем снова появляется «2» с непрозрачностью 0,5 -> непрозрачность 1 -> и так далее...

smartmouse 01.07.2019 17:18

Я обновил код, пожалуйста, проверьте его. @умная мышь

Irin 01.07.2019 17:39

если это работает для вас, пожалуйста, сделайте это принятым ответом :)

Irin 01.07.2019 17:48

Да, это то, что я искал. Спасибо!

smartmouse 01.07.2019 19:13

Другие вопросы по теме