语法

will-change: auto | scroll-position | contents | <custom-ident> | initial | inherit;

will-change 属性的示例:

<!DOCTYPE html>
<html>
  <head>
    <title>The 文档的标题</title>
    <style>
      .circle {
        width: 50px;
        height: 50px;
        transform: translate(50px, 0px);
        border-radius: 30px;
      }
      .circle.blue {
        background: #1c87c9;
        will-change: transform;
      }
      .circle.green {
        background: #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Will-change 属性示例</h2>
    <div class="circle green"></div>
    <div class="circle blue"></div>
    <div class="circle green"></div>
    <div class="circle blue"></div>
    <div class="circle green"></div>
    <script>
      var circles = document.getElementsByClassName("circle blue");
      function update(t) {
        for (var i = 0; i < circles.length; i++) {
          var xpos = Math.sin(t/1000 + 1000 * i) * 50 + 50;
          circles[i].style.transform = "translate(" + xpos + "px, 0px)";
        }
        window.requestAnimationFrame(update);
      }
      update();
    </script>
  </body>
</html>
CSS will-change 属性

will-change 属性向浏览器提示了一个元素在不久的将来会如何变化。
应在更改元素之前设置优化。

will-change 属性最初被命名为 will-animate。

will-change 属性允许浏览器更改元素的滚动位置、内容或者多个 CSS 属性值。

但是,许多属性不会产生任何影响。

这些值必须以逗号分隔。
will-change 属性可以具有以下值:unset、initial、inherit、will-change、auto、scroll-position 或者 contents。

应谨慎使用此属性。
不同的浏览器以不同的方式使用此属性,过度使用它可能会忽略该属性。

CSS will-change 属性值说明

描述
auto应应用标准浏览器优化。
scroll-position指定元素的滚动位置将来会有动画。
contents指定元素的内容将来会有动画。
<custom-ident>预计将在近期在元素上使用给定的名称更改或者动画属性。如果属性缩写,则更改将扩展到所有的始终属性。
initial使属性使用其默认值。
inherit从父母元素继承属性。

will-change 属性的正确使用:

  • will-change 属性不应应用于太多元素。它的过度使用会减慢页面加载速度。在这种情况下,会消耗大量资源。
  • 使用 will-change 属性时,最好在更改发生之前和之后使用脚本代码。
  • will-change 属性不应应用于元素以进行过早的优化。如果页面表现良好,则无需向元素添加 will-change。预计此属性将用作处理现有性能问题的最后一个选项。
  • 应该给浏览器一些时间进行优化。 will-change 属性旨在通知预期会提前更改的属性。
  • 当 will-change 属性与创建堆叠上下文的值一起使用时,它会影响元素的视觉显示。
初始值auto
应用于所有元素。
继承无效
可动画的无效
版本CSS1
DOM 语法object.Style.WillChange = "scroll-position";
日期:2020-06-02 22:14:52 来源:oir作者:oir