1.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.7 KiB
		
	
	
	
	
	
	
	
title, localeTitle
| title | localeTitle | 
|---|---|
| Will Change | 将改变 | 
将改变
will-change属性允许您告诉浏览器对元素进行哪些操作以优化它。
.container { 
 will-change: transform; 
 } 
上面的属性will-change用于类.container ,在这种情况下,元素的转换可能会也可能不会发生。
但是,使用此属性会产生一个有趣的副作用。
如果我们应用于transform: translateZ (0)元素,该元素将创建一个新的叠加上下文,并且在某些浏览器中,它还将为其自己的渲染流添加一个层,这将为我们提供性能提升,我们正在实现。
因此,使用will-change: transform ,浏览器将创建一个新的叠加上下文,无论我们是否将变换应用于元素。
需要注意的关键是,仅当属性还创建新的叠加上下文时,更改才会创建新的叠加上下文。由于transform属性会创建新的叠加上下文,因此will-change: transform也会创建一个新的叠加上下文。
如果您使用了will-change: display ,则不会创建新的叠加上下文,因为display属性的值不会创建新的叠加上下文。
让我们看另一个例子: opacity 。值为1的不透明度不会创建新的叠加上下文,但会创建较低的值(例如,0.9)。虽然会改变:不透明度在任何情况下都会创建一个新的叠加上下文。