【问题标题】:How to color background of Bootstrap row without column padding?如何在没有列填充的情况下为 Bootstrap 行的背景着色?
【发布时间】:2019-05-30 20:36:24
【问题描述】:

我正在尝试使背景适合引导程序的列大小,但仍会出现在整行中。我怎样才能做到这一点?

我尝试了以下方法:

.yourcontent {
  margin-bottom: 5px;
}

.yourcontent [class^=col-] {
  background-color: cyan;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">

  <div class="row">
    <div class="col-xs-12">
      <div class="btn-group" role="group" style="margin-top: 5px; margin-bottom: 5px">
        <button type="button" class="btn btn-primary">Foo</button>
        <button type="button" class="btn btn-primary">Bar</button>
        <button type="button" class="btn btn-primary">Foobar</button>
        <button type="button" class="btn btn-primary">Barfoo</button>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col-xs-12">

      <div class="row yourcontent">
        <div class="col-xs-6">
          <div class="">
            Foo
          </div>
        </div>
        <div class="col-xs-2">
          <div class="">
            Bar
          </div>
        </div>
        <div class="col-xs-2">
          <div class="">
            Foobar
          </div>
        </div>
        <div class="col-xs-2">
          <div class="">
            Barfoo
          </div>
        </div>
      </div>

    </div>

  </div>
</div>

JSFiddle

我希望它看起来像这样,除了列之间的空白也应该用颜色填充:

.yourcontent {
  margin-bottom: 5px;
  background-color: cyan;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">

  <div class="row">
    <div class="col-xs-12">
      <div class="btn-group" role="group" style="margin-top: 5px; margin-bottom: 5px">
        <button type="button" class="btn btn-primary">Foo</button>
        <button type="button" class="btn btn-primary">Bar</button>
        <button type="button" class="btn btn-primary">Foobar</button>
        <button type="button" class="btn btn-primary">Barfoo</button>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col-xs-12">

      <div class="row">
        <div class="col-xs-6">
          <div class="yourcontent">
            Foo
          </div>
        </div>
        <div class="col-xs-2">
          <div class="yourcontent">
            Bar
          </div>
        </div>
        <div class="col-xs-2">
          <div class="yourcontent">
            Foobar
          </div>
        </div>
        <div class="col-xs-2">
          <div class="yourcontent">
            Barfoo
          </div>
        </div>
      </div>

    </div>

  </div>
</div>

JSFiddle

我希望背景拉伸整行,但不拉伸给定行中第一个 col-xs-* 元素的 padding-left 和最后一个 col-xs-* 元素的 padding-right。有人会碰巧知道如何解决这个问题吗?

【问题讨论】:

  • 只在引导行上使用.no-gutters 类? - 编辑,这仅适用于引导程序 4 .. 所以手动创建该类。
  • 您可以将 margin:0 0 5px 添加到您的内容类。 jsfiddle.net/hnyk4su5/1
  • 我正要说它仅适用于 Bootstrap 4 @red 我会检查它会做什么。

标签: html css twitter-bootstrap


【解决方案1】:

Bootstrap 4 中,您有 .no-gutters 类。由于您使用的是 Bootstrap 3,因此不包括此类。但是,您可以自己轻松地创建此类。这将删除列之间的 排水沟

.yourcontent {
  margin-bottom: 5px;
  background-color: cyan;
}

/* 
  Optional, to fix to width of the row 
*/
.row.no-gutters {
  margin-left: 0;
  margin-right: 0;
}


.row.no-gutters > [class^="col-"] {
  padding-left: 0;
  padding-right: 0;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">

  <div class="row">
    <div class="col-xs-12">
      <div class="btn-group" role="group" style="margin-top: 5px; margin-bottom: 5px">
        <button type="button" class="btn btn-primary">Foo</button>
        <button type="button" class="btn btn-primary">Bar</button>
        <button type="button" class="btn btn-primary">Foobar</button>
        <button type="button" class="btn btn-primary">Barfoo</button>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col-xs-12">

      <div class="row no-gutters">
        <div class="col-xs-6">
          <div class="yourcontent">
            Foo
          </div>
        </div>
        <div class="col-xs-2">
          <div class="yourcontent">
            Bar
          </div>
        </div>
        <div class="col-xs-2">
          <div class="yourcontent">
            Foobar
          </div>
        </div>
        <div class="col-xs-2">
          <div class="yourcontent">
            Barfoo
          </div>
        </div>
      </div>

    </div>

  </div>
</div>

【讨论】:

  • 感谢.no-gutters 的提示,在 BS4 中效果很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2015-07-05
  • 2021-06-14
  • 2014-07-11
  • 1970-01-01
相关资源
最近更新 更多