微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css transition 闪一下

CSS transition是一种让element在发生改变时实现平滑变化的CSS属性。然而,在某些情况下,我们会发现transition执行时出现了“闪一下”的现象。这种现象是因为浏览器在渲染过程中对element的变态进行了优化而导致的。

.Box {
  width: 100px;
  height: 100px;
  background-color: red;
  transition-duration: 1s;
}

.Box:hover {
  background-color: blue;
}

css transition 闪一下

上述代码表示当鼠标hover时,.Box的背景色从红变成蓝色。然而,当我们执行这段代码时,我们会发现.Box在发生变化时会出现一瞬间的闪烁现象。

这是因为浏览器在处理rendering pipeline时,会将某些层级的element进行合并绘制。当我们对一个element的属性进行改变时,浏览器为了优化性能,会将该element所在的合并层级进行重新绘制,而这个重新绘制的过程是瞬间完成的。这就导致了我们看到了一瞬间的闪烁。

为了避免这种现象的出现,我们可以尝试使用以下方法

.Box {
  width: 100px;
  height: 100px;
  background-color: red;
  transition-duration: 1s;
  backface-visibility: hidden;
}

backface-visibility的作用是可以将element的背面隐藏,防止闪烁的出现。我们可以将.back的backface-visibility设置为hidden,从而实现平滑的变化效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。