上一篇描述了针对transform、opacity动画化的元素, 浏览器会提升一个合成层来优化渲染
以下几点也会导致浏览器将元素提升到一个新的渲染层.
- position: fixed; 直接是一个新的Layer
- will-change: transform, opacity; 两者设置其一就会形成 一个新的Layer
- translation: transform || opacity || translate3d || filter || backdrop-filter; 需要结合对transform 值的改变才会形成.
- video, canvas, iframe; 直接是一个新的Layer;
- perspective
- 元素A有一个z-index 比自己小的元素B, B是一个合成层(即该元素在复合层上渲染), 则A会提升位合成层(composite隐式合成);