3

我在buttons.less上的WinLess上得到一个'eval'为空或不是对象。

任何人 ?

附言。我已经使用了最新版本的一切并导入变量/mixins

我使用的版本是:WinLess 1.5.3 Less 1.3 Bootstrap 2.04

编辑:

这已在 Bootstrap 2.1.1 中修复

4

2 回答 2

4

Twitter bootstrap 团队表示,他们不保证会编译 button.less 等单个文件。他们鼓励编译具有所有需要的依赖项的 bootstrap.less。否则,您必须确保拥有 button.less 所需的所有依赖项(通常是 mixins.less 和 variables.less)。

实际上这个问题似乎与 WinLess 中的一些解析问题有关,所以在修复它之前,您可以使用一个 hack 来欺骗 WinLess 解析器。在 mixins.less 中,更改:

// IE7 inline-block
// ----------------
.ie7-inline-block() {
  *display: inline; /* IE7 inline-block hack */
  *zoom: 1;
}

和 :

// IE7 inline-block
// ----------------
.ie7-inline-block() {
  *display: inline; /* IE7 inline-block hack */
  *zoom: 1;
  // comment to make it work with WinLESS
}

正如您所看到的,它包括添加一个新行// comment to make it work with WinLESS来欺骗 WinLess 解析器并使其工作!

于 2012-07-01T20:37:22.993 回答
0

还有另一种解决方法。

删除 button.less 中的注释

    .btn {
  display: inline-block;
  .ie7-inline-block();
  padding: 4px 10px 4px;
  margin-bottom: 0; // For input.btn
  font-size: @baseFontSize;
  line-height: @baseLineHeight;
  *line-height: 20px;
  color: @grayDark;
  text-align: center;
  text-shadow: 0 1px 1px rgba(255,255,255,.75);
  vertical-align: middle;
  cursor: pointer;
  .buttonBackground(@btnBackground, @btnBackgroundHighlight);
  border: 1px solid @btnBorder;
  *border: 0; **// Remove the border to prevent IE7's black border on input:focus  [remove this]**
  border-bottom-color: darken(@btnBorder, 10%);
  .border-radius(4px);
  .ie7-restore-left-whitespace(); **// Give IE7 some love [remove this]**
  .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
}
于 2012-07-01T21:16:14.197 回答