«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как добиться плавной анимации элементов DIV слева направо без мерцания?

Как добиться плавной анимации элементов DIV слева направо без мерцания?

Опубликовано 12 ноября 2024 г.
Просматривать:597

How to Achieve Smooth Left-Right Animation of DIV Elements Without Flickering?

Движение влево-вправо в CSS: универсальное решение

Многие веб-разработчики сталкиваются с проблемой анимации элементов DIV вдоль горизонтальной оси, связанных по краям контейнера. Эта задача представляет сложности, поскольку фиксированные значения могут привести к мгновенному исчезновению элемента.

Чтобы решить эту проблему, можно использовать общую анимацию CSS для плавного перемещения элемента DIV слева направо. Однако использование свойств left со значениями 0 % и 100 % может привести к мерцанию из-за того, что элемент полностью выходит за пределы экрана.

Чтобы преодолеть эту проблему, рекомендуется сочетание свойств преобразования и свойств left или right. Этот метод удерживает элемент на экране, обеспечивая при этом желаемое движение.

Например, этот эффект достигается с помощью следующего кода CSS:

@keyframes destraSinistra {
  0% {
    left: 0;
  }
  100% {
    left: 100%;
    transform: translateX(-100%);
  }
}

#div1 {
  position: absolute;
  border: solid 1px lightgray;
  width: 100px;
  height: 30px;
  background-color: lightgreen;
  animation: destraSinistra 1s linear infinite alternate;
}

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3