如何在不包装的情况下在引导列之间添加边距

And*_*ndy 145 html css twitter-bootstrap twitter-bootstrap-3

我的布局目前看起来像这样

当前布局

在中间列中,我想在每个ServerDiv 之间添加一个小的边距.但是,如果我为CSS添加一个边距,它最终会换行并看起来像这样

尝试改变

<div class="row info-panel">
    <div class="col-md-4 server-action-menu" id="server_1">
        <div>
            Server 1
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_2">
        <div>
            Server 2
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_3">
        <div>
            Server 3
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_4">
        <div>
            Server 4
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_5">
        <div>
            Server 5
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_6">
        <div>
            Server 6
        </div>
    </div>
    <div class="col-md-4 server-action-menu" id="server_7">
        <div>
            Server 7
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

和CSS

.server-action-menu {
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(30, 87, 153, 0.2) 0%, rgba(125, 185, 232, 0) 100%);
    background-repeat: repeat;
    border-radius:10px;
}

.info-panel {
    padding: 4px;
}
Run Code Online (Sandbox Code Playgroud)

我试图通过这样做来添加边距

.info-panel  > div {
    margin: 4px;    
}
Run Code Online (Sandbox Code Playgroud)

如何在DIV上添加边距,以便它们不会在右侧留下太多空间?

Cha*_*lls 169

您应该在内部容器上使用填充而不是边距.试试这个!

HTML

<div class="row info-panel">
    <div class="col-md-4" id="server_1">
       <div class="server-action-menu">
           Server 1
       </div>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.server-action-menu {
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(30, 87, 153, 0.2) 0%, rgba(125, 185, 232, 0) 100%);
    background-repeat: repeat;
    border-radius:10px;
    padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)


kri*_*era 67

我面临同样的问题; 以下对我来说效果很好.希望这有助于有人登陆:

<div class="row">
    <div class="col-md-6">
        <div class="col-md-12">
            Set room heater temperature
        </div>
    </div>
    <div class="col-md-6">
        <div class="col-md-12">
            Set room heater temperature
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这将自动在2个div之间渲染一些空格. 在此输入图像描述

  • 这很有效,特别是当背景颜色很重要时.在[此答案]中也提到了(/sf/answers/2070345371/). (3认同)
  • 但是,将列直接放在列内是不好的做法,对吗? (2认同)

Seb*_*300 59

如果您不需要在列上添加边框,还可以在其上添加透明边框:

[class*="col-"] {
    background-clip: padding-box;
    border: 10px solid transparent;
}
Run Code Online (Sandbox Code Playgroud)

  • 很好的技巧,如果你不能使用background-clip:padding-box(它是CSS3),请设置与页面背景颜色相同的边框;) (5认同)

Sha*_*tin 25

改变数量@grid-columns.然后用-offset.更改列数将允许您控制列之间的空间量.例如

variables.less(约294行).

@grid-columns:              20;
Run Code Online (Sandbox Code Playgroud)

someName.html

<div class="row">
  <div class="col-md-4 col-md-offset-1">First column</div>
  <div class="col-md-13 col-md-offset-1">Second column</div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • @ShaunLuttin而不是为你的所有模板的所有div添加偏移类以获得保证金,是不是有更全面的解决方案?在http://stackoverflow.com/questions/26016396/add-gutter-margin-between-bootstrap-columns/26016735#26016735遇到同样的问题,但在任何地方添加偏移类都不是真正可维护的.. (3认同)

小智 5

这样做的简单方法是在div中执行div

<div class="col-sm-4" style="padding: 5px;border:2px solid red;">
   <div class="server-action-menu" id="server_1">Server 1
   </div>
 </div>
<div class="col-sm-4" style="padding: 5px;border:2px solid red;">
   <div class="server-action-menu" id="server_1">Server 2
   </div>
 </div>
<div class="col-sm-4" style="padding: 5px;border:2px solid red;">
   <div class="server-action-menu" id="server_1">Server 3
   </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

  • @Kiwad内联样式只是为了向观众清楚地说明效果. (3认同)
  • 弗洛雷斯先生。对于此类问题,内联样式很少是可行的解决方案。 (2认同)