Bootstrap 3个超大(xl)列

dub*_*ons 35 less twitter-bootstrap twitter-bootstrap-3

在Bootstrap的LESS版本中,有人可以告诉我如何添加第五个设备大小,超大(col-xl-#)?

Mar*_*zen 70

您可以使用以下链接从GitHub下载一个简单的小CSS文件:https: //github.com/marcrannieuwenhuijzen/BootstrapXL

如果添加此CSS文件到引导CSS后的HTML文件,你就可以使用col-xl-{size},col-xl-push,hidden-xl等媒体查询断点1600px;

更新 Bootstrap 4的alpha版本现已上市,支持超大屏幕. http://blog.getbootstrap.com/2015/08/19/bootstrap-4-alpha/但是超大的断点仍然是1200px.

更新2(2017年7月) 停止使用bootstrap并开始使用标准CSS网格,TODAY.你可以在这里找到介绍.


Bas*_*sen 25

您可以创建另一个较少的文件(例如bootstrapxl.less),其中包含以下代码并编译该文件:

@import "bootstrap.less";

// XLarge screen
@screen-xlg:                  1600px;
@screen-xlg-min:              @screen-xlg;
@screen-xlg-hughdesktop:      @screen-xlg-min;

// So media queries don't overlap when required, provide a maximum
@screen-lg-max:              (@screen-xlg-min - 1);

//== Container sizes
// Large screen / wide desktop
@container-xlarge-desktop:      ((1540px + @grid-gutter-width));
@container-xlg:                 @container-xlarge-desktop;

// Container widths
//
// Set the container width, and override it for fixed navbars in media queries.

.container {
  @media (min-width: @screen-xlg-min) {
    width: @container-xlg;
  }
}

.make-grid-xlgcolumns() {
  // Common styles for all sizes of grid columns, widths 1-12
  .col(@index) when (@index = 1) { // initial
    @item: ~".col-xlg-@{index}";
    .col((@index + 1), @item);
  }
  .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
    @item: ~".col-xlg-@{index}";
    .col((@index + 1), ~"@{list}, @{item}");
  }
  .col(@index, @list) when (@index > @grid-columns) { // terminal
    @{list} {
      position: relative;
      // Prevent columns from collapsing when empty
      min-height: 1px;
      // Inner gutter via padding
      padding-left:  (@grid-gutter-width / 2);
      padding-right: (@grid-gutter-width / 2);
    }
  }
  .col(1); // kickstart it
}
.make-grid-xlgcolumns();
.make-grid(xlg);

// Generate the large columns
.make-xlg-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  min-height: 1px;
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  @media (min-width: @screen-xlg-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}
.make-xlg-column-offset(@columns) {
  @media (min-width: @screen-xlg-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-xlg-column-push(@columns) {
  @media (min-width: @screen-xlg-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-xlg-column-pull(@columns) {
  @media (min-width: @screen-xlg-min) {
    right: percentage((@columns / @grid-columns));
  }
}
Run Code Online (Sandbox Code Playgroud)

请注意,.make-grid-xlgcolumns除了上面代码中的mixin,您还可以.make-grid-columns()通过添加.col-xlg-类前缀来修改less/minins/grid-framework.less文件中的mixin .

从BS 3.2.0开始,您应该使用autoprefixer来确保您的新编译版本与原始编译版本具有相同的浏览器支持,另请参阅:https://github.com/twbs/bootstrap/issues/13620 运行新代码的自动混音器用Gruntfile.js中对bootstrap.less新bootstrapxl.less的引用替换文件引用,并grunt dist在更改后运行.

更新

请注意,上述解决方案仅在为较大网格添加列类时才有效.请参阅/sf/answers/1887464141/以添加与默认网格重叠的列或网格.

  • 谢谢你.虽然略微纠正.`.make-grid(xlg);`需要包装在`@ screen-xlg-min`的媒体查询中.`@media(min-width:@ screen-xlg-min){.make-grid(xlg); }` (4认同)
  • 非常有用的答案,我已将其转换为[与bootstrap-sass一起使用](https://gist.github.com/noisymask/9798e943fd191200b28f) (3认同)