Bootstrap 3 - 较小屏幕上的列顶部边距

n00*_*00b 18 css css3 media-queries twitter-bootstrap twitter-bootstrap-3

我有一行X列可能.

<div class="container">
    <div class="row">
        <div class="col-lg-3 col-sm-4 col-xs-6">content</div>
        <div class="col-lg-3 col-sm-4 col-xs-6">content</div>
        <div class="col-lg-3 col-sm-4 col-xs-6">content</div>
        <div class="col-lg-3 col-sm-4 col-xs-6">content</div>
        <div class="col-lg-3 col-sm-4 col-xs-6">content</div>
        <div class="col-lg-3 col-sm-4 col-xs-6">content</div>
        <!-- ... and so on ... -->
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

现在我想添加margin-top:20px到所有小屏幕列和大屏幕列的相同边距,如果有超过4,因为这将导致显示两个"行",因此需要一些空间.

只有使用CSS,这在某种程度上是可能的吗?

Zim*_*Zim 30

您可以在需要最高边距时使用媒体查询.

@media (max-width: 767px) {
    .col-xs-6 {
        margin-top:20px;
    }
}
Run Code Online (Sandbox Code Playgroud)

http://www.bootply.com/126007

PS -有没有错与具有总.col-*.row超过12(即:http://getbootstrap.com/css/#grid-example-mixed).它只是导致包裹.文档中有几个使用此技术的示例.它通常不适合嵌套行.


Eja*_*jaz 6

我需要类似的东西,以下是我提出的解决方案.为未来的读者(和我自己)记录它

$res-list: (xs: (0px, 767px), sm: (768px, 991px), md: (992px, 1199px), lg: (1200px, 9999px));
$dir-list: (t: top, r: right, b: bottom, l: left);

@for $r from 1 through 10{
  @each $res-abbr, $res-vals in $res-list{
    @media (min-width: nth($res-vals, 1)) and (max-width: nth($res-vals, 2)) {
      @each $dir-abbr, $dir-name in $dir-list{
        $x: $r * 5;
        .m#{$dir-abbr}-#{$res-abbr}-#{$x}{
          margin-#{$dir-name}: #{$x}px;
        }
        .m#{$dir-abbr}-#{$res-abbr}-#{$r}p{
          margin-#{$dir-name}: #{$r}unquote('%');
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

此SASS代码按照以下行生成类

@media (min-width: 0px) and (max-width: 767px) {
    .mt-xs-5 { margin-top: 5px; }
    .mt-xs-1p { margin-top: 1%; }
    .mr-xs-5 { margin-right: 5px; }
    .mr-xs-1p { margin-right: 1%; }
    .mb-xs-5 { margin-bottom: 5px; }
    .mb-xs-1p { margin-bottom: 1%; }
    .ml-xs-5 { margin-left: 5px; }
    .ml-xs-1p { margin-left: 1%; } 
}
Run Code Online (Sandbox Code Playgroud)

因此内容编辑器可以用来在屏幕上.mt-xs-10应用margin-top: 10px给定元素extra-small.

我希望它对某人有所帮助.

  • 你应该为大规模过度复杂的简单任务而受到祝贺. (3认同)
  • 我不认为它过于复杂,而是赋予了内容编辑者以力量。考虑一下生成的CSS规则的用法。 (3认同)