Blurred Images and Shifted Divs in CSS Transitions in Chrome
In CSS transitions, applying a translate effect to a div can cause unexpected consequences, such as image blurring or a 1px shift in the image. This issue is particularly evident when scrollbars are present on the page. The culprit behind this problem lies within the inherent three-dimensional nature of CSS transforms.
Solution: Enforcing Flat Rendering
To remedy this situation, the CSS property -webkit-backface-visibility can be applied to the div, forcing it to appear more two-dimensional. This property tells the browser not to render the back face of the div, effectively flattening its appearance.
Additionally, setting -webkit-transform to translateZ(0) scale(1, 1) ensures that the div remains in the same plane and scales correctly.
Updated Syntax:
.your-class-name { /* ... */ -webkit-backface-visibility: hidden; -webkit-transform: translateZ(0) scale(1, 1); }
By flattening the div, these CSS properties prevent the transition from inadvertently manipulating the div's three-dimensional properties, resulting in a smooth and blur-free transition.
The above is the detailed content of Why are My CSS Transitions Blurring Images or Shifting Divs in Chrome?. For more information, please follow other related articles on the PHP Chinese website!