0

我正在使用这个扩展:Yii-Bootstrap,以及这个 less 扩展:less

在我的 main.php 配置文件中,我有:

'components'=>array(
  'less'=>array(
    'class'=>'ext.less.components.LessCompiler',
    'forceCompile'=>true, // indicates whether to force compiling
    //'compress'=>false, // indicates whether to compress compiled CSS
    //'debug'=>false, // indicates whether to enable compiler debugging mode
    'paths'=>array(
      'less/style.less'=>'css/style.css',
    ),
  ),
  'bootstrap'=>array(
      'class'=>'ext.bootstrap.components.Bootstrap',
      'responsiveCss'=>true,
  ),

自举的好处是有效的。我的问题是我正在尝试修改 protected\extensions\bootstrap\lib\bootstrap\less\variables.less 中的变量:

@gridGutterWidth:         0px;
@gridGutterWidth1200:     0px;
@gridGutterWidth768:      0px;

但是,即使我直接编辑 variables.less,这些更改也不会反映在网站的任何地方。这让我相信这不是变量。除非我必须编辑。

知道如何改变排水沟吗?

更新:我能够编辑以下文件并查看更改:

protected\extensions\bootstrap\assets\css\bootstrap-responsive.css

我变了:

[class*="span"] {
  float: left;
  min-height: 1px;
  margin-left: 30px;
}

至:

[class*="span"] {
  float: left;
  min-height: 1px;
  margin-left: 0px;
}

这现在消除了排水沟。但并不能完全解决我的问题。我希望这一切都通过 YII 和 LESS 动态发生。我怎么做?

4

1 回答 1

0

解决方案是将 responsiveCss 设置为 false:

'bootstrap'=>array(
  'class'=>'ext.bootstrap.components.Bootstrap',
  'responsiveCss'=> false,
),

然后将我的 style.less 文件更改为包括:

// Import the Bootstrap mixins, operations and functions so that you can use them in this file.
@import "../protected/extensions/bootstrap/lib/bootstrap/less/mixins.less";
@import "../protected/extensions/bootstrap/lib/bootstrap/less/variables.less";
@import "../protected/extensions/bootstrap/lib/bootstrap/less/scaffolding.less";
@import "../protected/extensions/bootstrap/lib/bootstrap/less/responsive.less";

混乱来自“responsiveCss”,没有清楚地解释(任何地方)。基本上,这将从 protected\extensions\bootstrap\assets\css\ 复制 css 文件并将其包含到您的文件中,无需修改。我在上面提到的是如何从“标准”版本转移到这种“可定制”的方式。

希望对某人有所帮助,因为它浪费了我很多时间,更不用说我现在必须花时间重做 css 了。

于 2012-11-27T15:34:05.023 回答