Twitter Bootstrap - 在行之间添加顶部空间

时间:2012-04-10 08:53:46

标签: css twitter-bootstrap

如何使用twitter bootstrap框架向class="row"个元素添加上边距?

20 个答案:

答案 0 :(得分:773)

编辑或覆盖Twitter引导程序中的行是一个坏主意,因为这是页面脚手架的核心部分,您将需要没有上边距的行。

要解决此问题,请创建一个新类“top-buffer”,以添加所需的标准边距。

.top-buffer { margin-top:20px; }

然后在需要上边距的行div上使用它。

<div class="row top-buffer"> ...

答案 1 :(得分:168)

好的只是为了让你知道发生了什么,我修复了一些新的课程,正如Acyra所说:

.top5 { margin-top:5px; }
.top7 { margin-top:7px; }
.top10 { margin-top:10px; }
.top15 { margin-top:15px; }
.top17 { margin-top:17px; }
.top30 { margin-top:30px; }

每当我想要<div class="row top7"></div>

要获得更好的响应,您可以添加margin-top:7%代替5px,例如:D

答案 2 :(得分:101)

Bootstrap 3

如果您需要在引导程序中分隔行,则只需使用.form-group即可。这会在行的底部增加15px的余量。

在您的情况下,要获得保证金最高,您可以将此类添加到之前的.row元素

<div class="row form-group">

/* From bootstrap.css */
.form-group {
        margin-bottom: 15px;
}

Bootstrap 4

您可以使用内置spacing classes

<div class="row mt-3"></div>

&#34; t&#34;在班级名称中,它仅适用于&#34; top&#34;底部,左侧,右侧有类似的类。该数字定义了空间大小。

答案 3 :(得分:63)

对于 Bootstrap 4 ,应使用

应用间距
  

速记实用程序类

采用以下格式:

  

{属性} {两侧} - {大小}

属性 是以下之一:

  • m - 用于设置保证金的类
  • p - 用于设置填充的类

双方 是以下之一:

  • t - 用于设置margin-top或padding-top
  • 的类
  • b - 用于设置margin-bottom或padding-bottom
  • 的类
  • l - 用于设置margin-left或padding-left
  • 的类
  • r - 用于设置margin-right或padding-right
  • 的类
  • x - 用于同时设置* -left和* -right
  • 的类
  • y - 用于同时设置* -top和* -bottom
  • 的类
  • 空白 - 用于在元素的所有4个边上设置边距或填充的类

尺寸 是以下之一:

  • 0 - 用于通过将边距或填充设置为0来消除边距或填充的类
  • 1 - (默认情况下)用于将边距或填充设置为$ spacer * .25
  • 的类
  • 2 - (默认情况下)用于将边距或填充设置为$ spacer * .5
  • 的类
  • 3 - (默认情况下)用于将边距或填充设置为$ spacer
  • 的类
  • 4 - (默认情况下)用于将边距或填充设置为$ spacer * 1.5
  • 的类
  • 5 - (默认情况下)用于将边距或填充设置为$ spacer * 3
  • 的类
  • auto - 用于将边距设置为自动
  • 的类

所以你应该做以下任何一件事:

<div class="row mt-1">
<div class="row mt-2">
          ...
<div class="row mt-5">

阅读docs以获取更多解释。 尝试here上的实时示例。

答案 4 :(得分:45)

有时,margin-top会导致设计问题:

http://www.w3.org/TR/CSS2/box.html#collapsing-margins

所以,我建议创建&#34; margin-bottom classes&#34;而不是&#34; margin-top class&#34;并将它们应用到上一个项目。

如果您正在使用Bootstrap导入LESS Bootstrap文件,请尝试使用比例Bootstrap主题空间定义margin-bottom类:

.margin-bottom-xs {margin-bottom: ceil(@line-height-computed / 4);}  
.margin-bottom-sm {margin-bottom: ceil(@line-height-computed / 2);} 
.margin-bottom-md {margin-bottom: @line-height-computed;}
.margin-bottom-lg {margin-bottom: ceil(@line-height-computed * 2);}  

答案 5 :(得分:33)

我将这些类添加到我的bootstrap样式表

.voffset  { margin-top: 2px; }
.voffset1 { margin-top: 5px; }
.voffset2 { margin-top: 10px; }
.voffset3 { margin-top: 15px; }
.voffset4 { margin-top: 30px; }
.voffset5 { margin-top: 40px; }
.voffset6 { margin-top: 60px; }
.voffset7 { margin-top: 80px; }
.voffset8 { margin-top: 100px; }
.voffset9 { margin-top: 150px; }

实施例

<div class="container">
  <div class="row voffset2">
    <div class="col-lg-12">
      <p>
        Vertically offset text.
      </p>
    </div>
  </div>
</div>

答案 6 :(得分:27)

我使用这些类来改变上边距:

.margin-top-05 { margin-top: 0.5em; }
.margin-top-10 { margin-top: 1.0em; }
.margin-top-15 { margin-top: 1.5em; }
.margin-top-20 { margin-top: 2.0em; }
.margin-top-25 { margin-top: 2.5em; }
.margin-top-30 { margin-top: 3.0em; }

当我需要一个元素与上面的元素有2em间距时,我就像这样使用它:

<div class="row margin-top-20">Something here</div>

如果你喜欢像素,那么将em更改为px就可以按照自己的方式使用。

答案 7 :(得分:9)

您可以将以下类用于bootstrap 4:

mt-0 mt-1 mt-2 mt-3 mt-4 ...

参考:https://v4-alpha.getbootstrap.com/utilities/spacing/

答案 8 :(得分:4)

Bootstrap 4 alpha,用于margin-top:简写CSS类名mt-1,mt-2(mt-lg-5,mt-sm-2) 同样适用于底部,右侧,左侧,您还有自动类ml-auto

    <div class="mt-lg-1" ...>

单位从15:在variables.scss中 这意味着如果你设置mt-1,它会给出.25rem的优势。

$spacers: (
  0: (
    x: 0,
    y: 0
  ),
  1: (
    x: ($spacer-x * .25),
    y: ($spacer-y * .25)
  ),
  2: (
    x: ($spacer-x * .5),
    y: ($spacer-y * .5)
  ),
  3: (
    x: $spacer-x,
    y: $spacer-y
  ),
  4: (
    x: ($spacer-x * 1.5),
    y: ($spacer-y * 1.5)
  ),
  5: (
    x: ($spacer-x * 3),
    y: ($spacer-y * 3)
  )
) !default;

在这里阅读更多

https://v4-alpha.getbootstrap.com/utilities/spacing/#horizontal-centering

答案 9 :(得分:2)

在.css文件中添加到此类:

.row {
    margin-left: -20px;
    *zoom: 1;
    margin-top: 50px;
}

或创建一个新类并将其添加到元素

.rowSpecificFormName td {
    margin-top: 50px;
}

答案 10 :(得分:1)

在Bootstrap 4 alpha +中你可以使用这个

class margin-bottom-5

使用以下格式命名类:{property}-{sides}-{size}

答案 11 :(得分:1)

如果您只想在一个页面上进行更改,请添加以下样式规则:

 #myCustomDivID .row {
     margin-top:20px;
 }

答案 12 :(得分:1)

just take a new class beside every row and apply css of margin-top: 20px;
here is the code below
<style>
  .small-top
   {
     margin-top: 25px;  
   }
</style>    
<div class="row small-top">
   <div class="col-md-12">
   </div>
 </div>

答案 13 :(得分:1)

Bootstrap3

CSS(仅限排水沟,没有边距):

.row.row-gutter {
  margin-bottom: -15px;
  overflow: hidden;
}
.row.row-gutter > *[class^="col"] {
  margin-bottom: 15px;
}

CSS(相等的边距,15px / 2):

.row.row-margins {
  padding-top: 7px; /* or margin-top: 7px; */
  padding-bottom: 7px; /* or margin-bottom: 7px; */
}
.row.row-margins > *[class^="col"] {
  margin-top: 8px;
  margin-bottom: 8px;
}

用法:

<div class="row row-gutter">
    <div class="col col-sm-9">first</div>
    <div class="col col-sm-3">second</div>
    <div class="col col-sm-12">third</div>
</div>

(SASS或LESS 15px可能是bootstrap的变量)

答案 14 :(得分:0)

您可以添加以下代码:

[class*="col-"] {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

答案 15 :(得分:0)

只需使用此 bs3-upgrade 帮助器进行间距和文字对齐......

https://github.com/studija/bs3-upgrade

答案 16 :(得分:0)

如果您使用的是BootStrap 3.3.7,则可以通过NPM使用开源库bootstrap-spacer

npm install bootstrap-spacer

或者您可以访问github页面:

https://github.com/chigozieorunta/bootstrap-spacer

这是一个使用.row-spacer类来分隔行的示例:

<div class="row row-spacer">
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
</div>

<div class="row row-spacer">
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
</div>

如果在列之间需要空格,则还可以添加.row-col-spacer类:

<div class="row row-col-spacer">
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
</div>

您还可以将各种.row-spacer和.row-col-spacer类组合在一起:

<div class="row row-spacer row-col-spacer">
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
    <div class="col-md-4">
    </div>
</div>

答案 17 :(得分:0)

<div class="row row-padding">

简单代码

答案 18 :(得分:0)

有一个技巧可以自动为容器中的第二个以上行自动添加页边空白。

.container-row-margin .row + .row {
    margin-top: 1rem;
}

.container-row-margin添加到容器中会导致:

enter image description here

完整的HTML:

<div class="bg-secondary text-white">
    div outside of the container.
</div>
<div class="container container-row-margin">
    <div class="row">
        <div class="col col-4 bg-warning">
            Row without top margin
        </div>
    </div>
    <div class="row">
        <div class="col col-4 bg-primary text-white">
            Row with top margin
        </div>
    </div>
    <div class="row">
        <div class="col col-4 bg-primary text-white">
            Row with top margin
        </div>
    </div>
</div>
<div class="bg-secondary text-white">
    div outside of the container.
</div>

来自官方samples

答案 19 :(得分:-3)

我的伎俩。不太干净,但对我来说效果很好

<p>&nbsp;</p>