我的问题的根源是使用 CSS4 变量和被 SASS mixins 覆盖的 css 函数。
例如, SASS 覆盖rgb并rgba帮助将十六进制传递给它们。问题是我正在使用允许变量的新 CSS4 规范。
我想做的是:
background-color: rgba(var(--theme-color, 0.5)
Run Code Online (Sandbox Code Playgroud)
现在,如果 SASS 没有接管并期望不同的输入,那么这将工作得很好。
那么是否可以以某种方式覆盖这个 mixin,这样我就可以将其输出为正常的 css 值?
感谢贾斯蒂纳斯在这个问题上引导我走向正确的方向。
尽管可以说这是 命名 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)