5

在 bootstrap-responsive.css

.row-fluid .span10{
    width: 91.45299145299145%;
    *width: 91.39979996362975%;
}

我正在配置大小,但很好奇它们是如何得出这些数字的,为什么它们精确到小数点后 14 位?

4

1 回答 1

12

它们以三个值开头,可以由用户定义:

@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 20px;

编辑:在 Bootstrap 3.0+ 上,变量现在是:

@grid-columns
@grid-gutter-width
@grid-float-breakpoint   // the point at which the navbar stops collapsing

并计算固定行宽:

@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));

然后他们变得流畅:

@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);

最后,生成所有跨度(这有点令人困惑):

.spanX (@index) when (@index > 0) {
  (~".span@{index}") { .span(@index); }
  .spanX(@index - 1);
}

.span (@columns) {
      width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
      *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%);
}

.row-fluid {
  // generate .spanX and .offsetX
  .spanX (@gridColumns);
  .offsetX (@gridColumns);
}

如您所见,LESS 进行除法和乘法运算。

自己看:

  1. https://github.com/twitter/bootstrap/blob/master/less/variables.less
  2. https://github.com/twitter/bootstrap/blob/master/less/mixins.less
于 2012-09-12T12:31:34.500 回答