Home  >  Article  >  Web Front-end  >  How to Achieve Smooth Left-Right Animation of DIV Elements Without Flickering?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 03:25:02482browse

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

Left-Right Movement in CSS: A Universal Solution

Many web developers encounter the challenge of animating DIV elements along a horizontal axis, bound by the edges of their container. This task presents complexities, as fixed values can lead to the element disappearing momentarily.

To address this issue, a generic CSS animation can be employed to seamlessly move the DIV from left to right. However, utilizing left properties at 0% and 100% may cause a flicker due to the element coming completely off the screen.

To overcome this, a combination of transform and left or right properties is recommended. This method maintains the element on the screen while providing the desired movement.

For example, the following CSS code achieves this effect:

<code class="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;
}</code>

This technique ensures that the DIV smoothly transitions between the left and right edges of its container, providing a versatile solution for any DIV with absolute positioning.

The above is the detailed content of How to Achieve Smooth Left-Right Animation of DIV Elements Without Flickering?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn