聚合物CSS变量未被替换

聚合物CSS变量未被替换,css,polymer,css-variables,Css,Polymer,Css Variables,我继承了一款前端使用Polymer构建的web应用程序。当我运行各种Docker命令时,它基本上都能工作,但也存在一些CSS问题。具体来说,一些聚合物样式似乎没有被编译。例如,使用元素时,不会替换颜色变量: .paper-dialog-0 { display: block; margin: 24px 40px; background: --primary-background-color; color: --primary-text-color;;;; } // ... .

我继承了一款前端使用Polymer构建的web应用程序。当我运行各种Docker命令时,它基本上都能工作,但也存在一些CSS问题。具体来说,一些聚合物样式似乎没有被编译。例如,使用
元素时,不会替换颜色变量:

.paper-dialog-0 {
  display: block;
  margin: 24px 40px;

  background: --primary-background-color;
  color: --primary-text-color;;;;
}

// ...

.paper-dialog-0  .buttons {
  position: relative;
  padding: 8px 8px 8px 24px;
  margin: 0;
  color: --primary-color;;;
}
在另一个例子中,一堆图标都被放置在另一个上面,并且并没有正确定位


我已经运行了项目附带的各种Gulp命令,其中包括硫化所有东西。在大多数情况下,这些样式看起来确实是“聚合的”。我以前从未使用过Polymer,所以我对如何将组件构建成HTML和CSS有点迷茫。是否有一个明显的步骤我错过了,但没有记录在项目中?

听起来您希望构建输出包含文字值而不是CSS变量,但是。浏览器会自动使用CSS变量指定的值(在polyfills的帮助下)

关于如何构建组件,这可能会有很大差异,但大多数聚合物项目都使用组件来构建(用于小型化、捆绑等)。您还可以拥有自己的Gulp脚本,该脚本使用了部分
polymer cli
,以最大限度地定制构建(请参阅)。

(又称变量)是一种web技术,不是polymer特有的,并且大多数浏览器都支持它,因此它们很可能不会在您的项目中被编译或替换

至于代码,有一个问题:要使用自定义属性,必须使用
var()
CSS函数:

.paper-dialog-0 {
  display: block;
  margin: 24px 40px;

  background: var(--primary-background-color);
  color: var(--primary-text-color);
}

我认为这是直接来自一个纸聚合物元素——我们还没有触及该元素中的任何代码。它的样式通常应该编译成什么?编译后的聚合物样式表是否包含css变量?我不愿意更改输出css,因为(我假设)它会被下一次硫化覆盖。我不知道构建过程是什么样子,但正如我所说,大多数浏览器都支持css自定义属性,因此我不希望编译或替换它们。浏览器理解它们,或者,对于较旧的浏览器,它们由一个多边形填充(如ShadyCSS)处理。