减少Bootstrap3中较小设备上的装订线(默认为30px)?

时间:2013-10-03 16:27:10

标签: twitter-bootstrap twitter-bootstrap-3

在bootstrap 3中,装订线定义为30px(每列15px)。我正在运行的问题是,例如,如果我将屏幕缩小到很小,排水沟最终会比列本身宽,如下所示(深蓝色=列,浅蓝色=排水沟)。 / p>

enter image description here

您可以修改某些分辨率状态的装订线宽度吗? (手机,平板电脑等)

5 个答案:

答案 0 :(得分:25)

装订线由左右填充构成,您可以根据屏幕尺寸使用媒体查询来更改:

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) 
{ 
    div[class^="col"]{padding-left:5px; padding-right:5px;}
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) 
{   
    div[class^="col"]{padding-left:10px; padding-right:10px;}
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) 
{   
    /*default so you don't need this*/
    div[class^="col"]{padding-left:15px; padding-right:15px;}
}

注意另请参阅此问题:Bootstrap 3 Gutter Size。当您还想要更改网格两侧的“视觉”装订线时,您应该使用此功能。在这种情况下,您还必须将.container类的填充设置为您的装订线大小。 b.e。

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) 
{   
    /*default so you don't need this*/
    div[class^="col"]{padding-left:85px; padding-right:85px;}
    .container{padding-left:85px; padding-right:85px;}
    .row {
    margin-left: 0;
    margin-right: 0;
    }
}

答案 1 :(得分:6)

使用bootstrap mixins的更强大的解决方案:

@sm-gutter: 10px;
@md-gutter: 50px;
@lg-gutter: 100px;

.my-container {
  @media (min-width: @screen-sm-min) {
    width: @container-sm;
    .container-fixed(@gutter: @sm-gutter);
  }
  @media (min-width: @screen-md-min) {
    width: @container-md;
    .container-fixed(@gutter: @md-gutter);
  }
  @media (min-width: @screen-lg-min) {
    width: @container-lg;
    .container-fixed(@gutter: @lg-gutter);
  }
}

.my-row {
  @media (min-width: @screen-sm-min) {
    .make-row(@gutter: @sm-gutter);
  }
  @media (min-width: @screen-md-min) {
    .make-row(@gutter: @md-gutter);
  }
  @media (min-width: @screen-lg-min) {
    .make-row(@gutter: @lg-gutter);
  }
}

.my-4-col {
  @media (min-width: @screen-sm-min) {
    .make-sm-column(4, @sm-gutter);
  }
  @media (min-width: @screen-md-min) {
     .make-md-column(4, @md-gutter);
  }
  @media (min-width: @screen-lg-min) {
     .make-lg-column(4, @lg-gutter);
  }
}

答案 2 :(得分:4)

使用LESS mixin和“col”类的简单解决方案:

.reduce-gutter(@size: 5px) {
    .row {
        .make-row(@size);
    }
    .row .col:first-child,
    .row .col:last-child { 
        padding-right: @size;
        padding-left: @size;
    }
}

答案 3 :(得分:1)

我使用标准(30px)装订线尺寸,除非我的装订线为6px的小型设备:

/server

答案 4 :(得分:0)

我试图重写Bootstrap mixin,以便为XS宽度提供一半正常网格装订线。似乎工作正常。

.make-xs-column(@columns; @gutter: @grid-gutter-width) {   
    @media(max-width: @screen-xs-min) {
        padding-left:  (@gutter / 4);
        padding-right: (@gutter / 4);
    };
}
.make-row(@gutter: @grid-gutter-width) {
    @media(max-width: @screen-xs-min) {
        margin-left:  (@gutter / -4);
        margin-right: (@gutter / -4);
    }
}

.container-fixed() {
    @media(max-width: @screen-xs-min) {
        padding-left:  (@grid-gutter-width / 4);
        padding-right: (@grid-gutter-width / 4);
    }
}