CSS变量和Angular 5

Tal*_*bay 5 javascript css css-variables angular

我正在尝试在我的Angular应用程序中使用css varible,在子组件中,它只是不起作用.在浏览器的Elements工具(我使用Chrome最新版本)中,var()不执行任何操作.expamle:

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;
}
Run Code Online (Sandbox Code Playgroud)

这就是它在浏览器中的显示方式: 在此输入图像描述

CSS变量是否可以与Angulat一起使用?谢谢

Vla*_* S. 14

您的根选择器可能也会获得带有角度组件ID的属性.

试试这个

::ng-deep :root {
  --width: 43.75%;
}
Run Code Online (Sandbox Code Playgroud)

  • :: ng-deep正在弃用."阴影穿刺后代组合器已弃用,主要浏览器和工具正在删除支持.因此我们计划放弃Angular中的支持(对于/ deep /,>>>和:: ng-deep的所有3个).那么:: ng-deep应该是首选,以便更广泛地兼容工具." [链接](https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep) (3认同)

小智 10

我知道这是旧的,但比 ::ng-deep 更好的解决方案是使用 :host 。这将避免稍后在 ::ng-deep 被弃用时出现问题。

:host {
  --width: 43.75%;
}
Run Code Online (Sandbox Code Playgroud)