猴子补丁 SASS/SCSS

问题描述

在使用 Foundation 构建的网站上,我希望能够在包编译期间处理完 SASS 后动态设置调色板。

CSS 变量似乎是最好的选择。

虽然这适用于基本情况,但我在将这种方法应用于 Foundation 调色板时遇到了问题,因为它使用的颜色函数与 CSS 变量不能很好地配合:

SassError: $color: var(--primary-color) is not a color.
   ╷
21 │   $rgba: red($color),green($color),blue($color);
   │          ^^^^^^^^^^^   
   ╵
  node_modules/foundation-sites/scss/util/_color.scss 21:10          color-luminance()        
  node_modules/foundation-sites/scss/util/_color.scss 45:16          color-contrast()         
  node_modules/foundation-sites/scss/util/_color.scss 66:14          color-pick-contrast()    
  node_modules/foundation-sites/scss/components/_button.scss 190:13  button-style()
  node_modules/foundation-sites/scss/components/_button.scss 169:5   button-fill-style()
  node_modules/foundation-sites/scss/components/_button.scss 378:13  foundation-button()
  node_modules/foundation-sites/scss/foundation.scss 112:3           foundation-everything()  
  src/scss/index.scss 4:1             

因此,理想情况下,我会更改 button-style 混合函数以使用不使用 color-pick-contrast()方法,因为此函数不适用于变量。

撇开button-style 所需的具体更改不谈,出现了一般性问题:

我该如何进行更改?

button-style 是 Foundation 代码库的一部分,在 Foundation 之上维护补丁集似乎不太吸引人。

那么有什么办法可以让我从我的代码中对 Foundation 的 button-style 进行猴子补丁,并使其以可维护的方式工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...