混合较少的问题

时间:2014-02-04 18:49:19

标签: css twitter-bootstrap less

我正试图(我认为)在LESS中做一个非常简单的混音,而且我不确定这里出了什么问题。

我正在使用Visual Studio Web Essentials进行编译。

所以这是我的目标: 我想要一个类似于boostrap控件标签的样式,除了我想要改变一些属性(让我们说填充):

这是我的LESS:

@import (reference) 'bootstrap/bootstrap.less';
    .my-test-class {
      .control-label;
      padding: 4;
    }

这会导致编译错误: NameError:.control-label未定义。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:5)

据我所知,所有.control-label类定义都驻留在其他类定义in this file中。具体而言,在.form-inline.form-horizontal内。但是在.form-inline范围内,它也位于媒体查询中,目前它无法作为mixin进行访问。

这意味着您必须通过唯一可用的命名空间访问它,如下所示:

@import (reference) 'bootstrap/bootstrap.less';

.my-test-class {
  .form-horizontal > .control-label;
  padding: 4;
}

从中学习的一般原则是真正需要了解引导代码实际输出的内容,以便能够访问(或知道您是否可以甚至访问)它的一部分mixin(无论是否将(reference)导入)。