我尝试将原生 RGBA 语法 (
#0abf3055
) 与 SASS 结合使用(在 Rails 6 应用程序项目中):
background-image: linear-gradient(to right, #0abf3055, #22242F 30%)
但是我得到了:
“”后的 CSS 无效:预期的表达式(例如 1px、粗体)为“#0abf3055”
如果我用
rgba(#0abf30, 0.33)
替换,或者只是 #0abf30
它可以工作,所以它的 8 位语法对 SASS 有问题。
那么,如何在 Rails 上使用 SASS 的原生 8 位颜色语法?
您使用 Dart Sass,这是当前唯一支持的 SASS 解析器。
Rails 历史上从最初的 Ruby SASS 编译器过渡到 LibSass。两者都早已消亡,并且不支持该语言的所有现代特性/功能。
sass-rails
和 sassc-rails
gems 将这些旧的解析器与 Rails 集成。
如果您的样式表使用旧的 sprockets 资源管道,您可以在安装 Dart Sass 的依赖项后使用 dartsass-sprockets gem。
但是您可能需要考虑忽略这个问题,直到升级到 Rails 7 并决定在资产处理方面要走向何方。