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

CSS变量和角度5

  •  9
  • TalGabay  · 技术社区  · 8 年前

    我正在尝试在角度应用程序中使用css Variable, 在子组件中,它只是不起作用。在浏览器的元素工具(我使用的是Chrome的最新版本)中,var()没有任何作用。出口:

    css文件:

    :root {
      --width: 43.75%;
    }
    
    #content {
      display: grid;
      grid-template-columns: repeat(2, var(--width));
      grid-auto-rows: 90%;
      grid-gap: 3px;
      align-content: center;
      justify-content: center;
      border: 2px solid black;
      width: 400px;
      height: 250px;
      margin: 0 auto;
    }
    

    这就是它在浏览器中的显示方式: enter image description here

    CSS变量是否可以与Angulat一起使用? 非常感谢。

    3 回复  |  直到 8 年前
        1
  •  19
  •   Vlad S.    8 年前

    您的根选择器可能还会获得具有角度组件id的属性。

    试试这个

    ::ng-deep :root {
      --width: 43.75%;
    }
    
        2
  •  10
  •   J Hutch    7 年前

    我知道这很古老,但比::ng deep更好的解决方案是使用:host。这将避免在以后不推荐使用::ng deep时出现问题。

    :host {
      --width: 43.75%;
    }
    
        3
  •  1
  •   user4676340 user4676340    8 年前

    CSS变量不依赖于角度,它们依赖于您的浏览器。您需要有最新的浏览器才能使用它们。 CanIUse 我可以帮你。

    既然你用的是Angular,你可以用 .scss 文件,或 .less 文件,用于 SASS 和 LESS . 它们都处理变量,还有更多。

    如果使用CLI,只需重命名文件,并在组件装饰器中重命名对这些文件的引用。

    您也可以访问 .angular-cli.json 并更改 styleExts 给你选择的那个。