是否可以在 sass 中使用原生 css 函数?

Tor*_*eit 7 css sass

我的问题的根源是使用 CSS4 变量和被 SASS mixins 覆盖的 css 函数。

例如, SASS 覆盖rgbrgba帮助将十六进制传递给它们。问题是我正在使用允许变量的新 CSS4 规范。

我想做的是:

background-color: rgba(var(--theme-color, 0.5)
Run Code Online (Sandbox Code Playgroud)

现在,如果 SASS 没有接管并期望不同的输入,那么这将工作得很好。

那么是否可以以某种方式覆盖这个 mixin,这样我就可以将其输出为正常的 css 值?

Tor*_*eit 4

感谢贾斯蒂纳斯在这个问题上引导我走向正确的方向。

尽管可以说这是 命名 CSS 网格线与 SCSS的重复,但我仍然想分享更具体于我试图解决的问题的解决方案。

这是一个相当不错的解决方案的代码笔:https ://codepen.io/anon/pen/LydWMd

基本上只是创建一个 mixin 来覆盖(正如所指出的,不一定是你想要的,除非你知道你永远不会在项目中使用内置的 sass 功能)或添加:

@function native-rgba($string, $opacity) {
  @return #{"rgba(#{$string}, #{$opacity})"};
}
Run Code Online (Sandbox Code Playgroud)