代码之家  ›  专栏  ›  技术社区  ›  jantimon

使用javascript以编程方式设置CSS`env()`变量

  •  1
  • jantimon  · 技术社区  · 5 年前

    现在CSS不仅支持自定义属性,还支持 environment variables 我想知道如何使用javascript以编程方式更改它们。

    以下示例将在中呈现文本 purple 颜色 是否可以使用setTimeout将其更改为其他颜色,例如5秒后?

    div {
      color: env(PRIMARY, purple)
    }
    <div>Hello world</div>
    1 回复  |  直到 5 年前
        1
  •  0
  •   imvain2    5 年前

    在中设置变量 :root 然后在 env 允许您通过javascript对其进行修改。

    var obj = document.getElementById("test");
    setTimeout(function(){
        obj.style.setProperty("--primary","black");
    },2000);
    :root{
       color:env(--primary,red);
    }
    
    #test {
      color: var(--primary)
    }
    <div id="test">Hello world</div>