0

我遇到了一个非常奇怪的问题:

我正在与:

  • 导轨 3.1.1
  • Bootstrap-sass 1.4.4(还没来得及升级到 2.0)

以前的 bootstrap-sass 1.4.0 中的一个已知问题是此处描述的与 IE 渐变显示相关的问题。通过 ie_hex_str 函数和 IE 的特定过滤器的介绍(据我了解),这在 1.4.3 中得到了修复,例如:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie_hex_str($startColor)}', endColorstr='#{ie_hex_str($endColor)}', GradientType=0);

这里给出了一些细节。

我仍然有问题,我的问题是在资产预编译后我得到类似的东西:

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='ie_hex_str(#FFFFFE)', endColorstr='ie_hex_str(#E6E6E6)', GradientType=0);

那就是编译资产时没有解释 ie_hex_str。我没有接触任何 bootstrap-sass 代码,所以我不明白发生了什么......

任何的想法 ?

更新 :

“有趣”的事情是我有 2 个应用程序使用相同版本的 rails 和 bootstrap-sass 并且做几乎相同的事情并且它们的反应方式不同。一方面,ie_hex_str 被正确解释。

4

2 回答 2

0

我不知道发生了什么事。似乎 bootstrap-sass 的 sass mixins 中的函数在资产预编译期间没有得到解释。

由于我不知道为什么,我使用了一种解决方法:我覆盖了我正在使用的定义,例如 btn :

.btn {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FFFFFFFE, endColorstr=#FFE6E6E6, GradientType=0);

  .primary {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#FF049CDB, endColorstr=#FF0064CD, GradientType=0);
  }
}

使用我需要的颜色。至少它运作良好。

于 2012-05-25T12:33:53.507 回答
0

该问题似乎是由application.rb (Rails 3.1) 中的资产管道initialize_on_precompile设置引起的:

config.assets.initialize_on_precompile = false

当我们在 application.rb 中包含这一行时,出现了“ie_hex_str”预编译问题。删除/评论解决了这个问题。

  • 导轨 3.1.3
  • 引导 sass 1.4.4
于 2012-08-22T20:50:22.200 回答