在指令之前,will-change
您不能以与其他语言相同的字面方式执行此操作。浏览器(或者至少是 Webkit)通过绘制不同的层来处理页面的渲染。从理论上讲,它应该足够智能,可以为您计算出层,但有时将某些东西强制到自己的层中是个好主意。
有时这有效,有时无效,具体取决于发生了什么。
反正。
在 CSS 中,将某些东西强制放入图层的一种方法是使用 3D 变换对其进行变换。一个常见的策略是添加:
transform: translateZ(0);
或等价物:
transform: translate3d(0,0,0);
或者有点疯狂:
transform: rotateZ(360deg);
或翻译的结合:
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
如果事情是闪烁的。
这些创建了一个新层,因为这是规范定义的。来自http://www.w3.org/TR/css3-transforms/#transform-property,
“除了‘none’之外的任何转换值都会导致堆叠上下文和包含块的创建。”
这些都需要仔细测试,而不是总是在任何可能需要它的东西上塞进去——有时它更好,有时它没有什么不同,有时它更糟!
祝你好运!