3

我可以用

 <div class="row">
      <div class="span10">...</div>
      <div class="span2">...</div>
    </div>

有了这个,使它更具语义

<div class="article">
  <div class="main-section">...</div>
  <div class="aside">...</div>
</div>

<!-- Less stylesheet -->
.article {
  .makeRow(); 
  .main-section {
    .makeColumn(10);
  }
  .aside {
    .makeColumn(2);
  }
}

我怎么能用流体网格做到这一点:

 <div class="row-fluid">
      <div class="span10">...</div>
      <div class="span2">...</div>
    </div>

<!-- Less stylesheet -->
.article {
  ???
  .main-section {
    .makeColumn(10);
  }
  .aside {
    .makeColumn(2);
  }
}

我试过了:

.article { #grid > .fluid(@fluidGridColumnWidth768, @fluidGridGutterWidth768);}

以及一些相关的 stackoverflow帖子的一些变化,但它没有得到响应。

4

3 回答 3

3

这对我有用..张贴以防万一它帮助其他人。

用于语义流体网格的 Mixin:

.makeFluidRow(){
    width: 100%;
    .clearfix();
}

.makeFluidCol(@span:1,@offset:0){
    float: left;
    #grid > .fluid .span(@span);
    #grid > .fluid .offset(@offset);
    &:first-child {
        margin-left: 0;
        .offsetFirstChild(@offset);
    }
}

像使用非流体 mixins 一样使用它们:

.article {
    .makeFluidRow();
    .main-section {
        .makeFluidCol(10); //Spans 10 cols
    }
    .aside {
        .makeFluidCol(1,1); //offset by one, spans 1
    }
}
于 2013-07-03T16:31:20.550 回答
1

好的,我想我明白了。我正在更新问题以使用流畅的布局添加偏移量,因为这是我遇到最大麻烦的地方。

<div class="article">
  <div class="main-section">...</div>
  <div class="aside">...</div>
</div>

<!-- Less stylesheet -->
.article {

  .main-section {
     #grid > .fluid > .offset(2);
     #grid > .fluid > .span(8);
  }
  .aside {
    #grid > .fluid > .span(2);
  }
}
于 2013-02-04T21:37:23.457 回答
1

我发现您的问题正在寻找一种将 .makeColumn() 用于响应式网格(1200px、768px 等)的方法。Bootstrap 2 中包含的 .makeColumn() mixin 仅占 940px 网格。

为了解决这个问题,我只是在一个 LESS 文件中扩展了 .makeColumn() mixin,该文件在 Boostrap 文件之后加载。

// Improve .makeColumn to work with 1200px responsive grid
.makeColumn(@columns: 1, @offset: 0) {
  @media (min-width: 1200px) {
    margin-left: (@gridColumnWidth1200 * @offset) + (@gridGutterWidth1200 * (@offset - 1)) + (@gridGutterWidth1200 * 2);
    width: (@gridColumnWidth1200 * @columns) + (@gridGutterWidth1200 * (@columns - 1));
  }
}
于 2013-09-06T17:32:45.653 回答