使用Twitter Bootstrap添加垂直空格?


162

使用Twitter的Bootstrap添加垂直空白的最佳方法是什么?

例如,假设我正在创建一个着陆页,并且想要某个按钮上方和下方的空白(100px)。显然,我可以为该特定按钮创建特定的类。但是,我认为Bootstrap应该采用DRY方式添加垂直空白。

Answers:


39

Bootstrap 4中,有间隔实用程序

引用使用过的符号的文档

适用于所有断点(从xs到)的间距实用程序中xl没有断点的缩写。这是因为这些类是反复应用的min-width: 0,因此不受媒体查询的约束。但是,其余的断点确实包含断点的缩写。

类是使用的格式命名{property}{sides}-{size}xs{property}{sides}-{breakpoint}-{size}smmdlg,和xl

其中财产是以下之一:

  • m -对于设置的课程 margin
  • p -对于设置的课程 padding

其中是以下之一:

  • t-对于设置margin-toppadding-top
  • b-对于设置margin-bottompadding-bottom
  • l-对于设置margin-leftpadding-left
  • r-对于设置margin-rightpadding-right
  • x-对于同时设置*-left*-right
  • y-对于同时设置*-top*-bottom
  • 空白-用于在元素的所有4侧设置a marginpadding4的类

其中大小是以下之一:

  • 0 -对于通过设置为消除边距或填充的类 0
  • 1- (默认情况下)的类时,设置marginpadding$spacer * .25
  • 2- (默认情况下)的类时,设置marginpadding$spacer * .5
  • 3- (默认情况下)的类时,设置marginpadding$spacer
  • 4- (默认情况下)的类时,设置marginpadding$spacer * 1.5
  • 5- (默认情况下)的类时,设置marginpadding$spacer * 3

因此,要在元素上方和下方留出一些额外的垂直空间,可以使用my-5class。


3
您能举一个有效的类字符串的例子吗?
Kolob Canyon '18

真好!这很棒。
蒂基

51

在v2中,没有太多内置功能可用于垂直空间,因此您需要坚持使用自定义类。对于较小的高度,我通常只<div class="control-group">在按钮周围扔一个。


8
或<div class =“ btn-toolbar”>
dyurkavets 2012年

9
谢谢。现在,我为此创建了一些spacer10,spacer50等类。我已经在github中看到了一个功能请求:bit.ly/R9oap9
Ryan

1
@Ryan:很好,没有看到请求请求。我对此有点矛盾。Bootstrap几乎完全是表示形式的(并且很方便),但是如果您斜视一下就足以忽略所有额外的HTML,则可以从中获取语义。垂直间距纯粹是表示形式,因此我认为最好使用自定义的类/ ID。
jmdeldin 2012年

2
这是针对v2的,但似乎v3最小化了周围的间距.btn-toolbar,因此您只需要添加一个带有自己的边距的新类即可。
jmdeldin

3
显然github功能请求已关闭,并且该功能可能已加入到Bootstrap v4中。bit.ly/R9oap9
瑞安

48

包装可以,但是当您只想要一个空间时,我喜欢:

<div class="col-xs-12" style="height:50px;"></div>

16
在使用Bootstrap时添加内联样式通常不是一个好主意。它至少应该进入CSS。
alexykot '16

2
请注意,“ col-xs-12”与根本没有任何类完全相同
Soldeplata Saketos

34

很抱歉在这里挖一个老坟墓,但是为什么不这样做呢?

<div class="form-group">
    &nbsp;
</div>

它将在普通表单元素的高度上添加一个空格。

似乎表格上的1行大约为50px(我刚刚检查的元素上为47px)。这是一个水平形式,标签在左边2col,输入在右边10col。因此,您的像素可能会有所不同。

因为我的基本上是50px,所以我将创建一个50px高的间隔,没有边距或填充;

.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>

1
这增加了组下方但不上方的空间
icc97 '16

当然可以,这正是他要求的一种添加垂直空白的方法。如果您需要自定义窗体组,行或什至按钮,请添加自己的类,以覆盖边距。即:类= “形式的组间隔组”和” .spaced组..这只是普通的CSS-感{边距:15px的重要;下边距15px的重要!}。
韦德

OP专门询问:“ 某个按钮上方和下方的一点空白(100像素)”
icc97,2016年

1
不,那只是一个例子,不是他的问题。他的问题是“使用Twitter的Bootstrap添加垂直空白的最佳方法是什么?” -垂直空白与特定元素上的空白不同。如果他对所有按钮都执行此操作,则可以更改btn的边距,或使用自己想要的边距来制作自己的类,例如“ btn间隔”。如果他只是想在自己想要的地方加一个间隙,那么他需要的是一个固定高度的垫片,就像我回答的那样。他问了一个问题,并举了另一个例子。我以为他足够了解CSS,以至于他可以超越空白。
韦德

由于他说过DRY方法和按钮,因此我将创建一个按钮类,其边距为btn间隔。如果不是仅用于按钮,则适用于行,表单组等的通用边距。像class =“ row space-small”或class =“ form-group space-medium”。。其中大和小只是边距的变体,几乎可以应用于任何地方。-很难告诉操作者想要哪个。仅用于按钮或仅用于任何元素
Wade

24

我知道这很老了,但是我来这里寻找同样的东西,我发现Bootstrap有帮助块,对于这些情况非常方便:

<div class="help-block"></div>

21

对于版本3,似乎没有“引导”方式可以很好地实现这一目标。

A panel,a well和a form-group全部提供一些垂直间距。

显然,引导v4的路线图上有一个更正式的特定垂直间距解决方案

https://github.com/twbs/bootstrap/issues/4286#issuecomment-36331550 https://github.com/twbs/bootstrap/issues/13532


5
.form-group似乎是最佳选择,因为CSS被限制为margin-bottom:15px。如果只想添加一些间距,则不要使用.well和.panel,因为它们具有其他属性(例如背景,填充,边框等)
xaa

9

我只是使用各种高度创建了一个div类,即

<div class="divider-10"></div>

CSS是:

.divider-10 {
    width:100%; 
    min-height:1px; 
    margin-top:10px; 
    margin-bottom:10px;  
    display:inline-block; 
    position:relative;
}

只需为需要的高度创建一个分隔器类。


8

我的把戏 不是很优雅,但是可以工作:

<p>&nbsp;</p>

2
@JayKilleen +1您应该将其发布为答案。也许人们开始依赖框架,并开始忘记基础知识。
ADJenks '17

5

只需使用<br/>。我在这里发现自己正在寻找该问题的答案,然后由于不考虑使用用户JayKilleen在评论中建议的简单换行而感到很傻。


缺点是您无法获得精确的 100px控件,但是它应该可以添加合理的空间。
mix3d

1
@ mix3d,您就在那儿,起初我没有注意到他关心的是100px。我以为他只想要一个“位”。他绝对可以像每个人所建议的那样上自己的助手课。但是由于此职位已有多年历史,因此他现在可以升级到Bootstrap 4以获得精确的间距,或者从中获取帮助程序类。
ADJenks

5

我知道这已经很老了,已经发布了几个好的解决方案,但是下面的CSS对我有用:

<style>
  .divider{
    margin: 0cm 0cm .5cm 0cm;
  }
</style>

然后在您的html中创建一个div

<div class="divider"></div>

4

我尝试使用<div class="control-group">,但没有更改我的布局。它没有增加垂直空间。对我有用的解决方案是:

<ol style="visibility:hidden;"></ol>

如果这样不能为您提供足够的垂直空间,则可以通过添加嵌套<li>&nbsp;</li>标签来逐步获得更多空间。


谢谢,无论您是否使用Bootstrap,您的建议都可以使用。但是问题特别是关于使用Twitter Bootstrap增加间距。
乔纳森(Jonathan)

1
<form>
 <fieldset class="form-group"><input type="text" class="form-control" placeholder="Input"/></fieldset>
 <fieldset class="form-group"><button class="btn btn-primary"/>Button</fieldset>
</form>

http://v4-alpha.getbootstrap.com/components/forms/#form-controls


1
这如何回答这个问题?
马特·S

它可以按照原始海报的要求增加垂直间距,引导开发人员现在也可以在beta版本的最新版本(4)中使用它。这实际上是正确的答案,如果您在引导程序中搜索垂直间距,则会发现以前不适合该功能。请不要对尚未测试或搜索过的内容进行投票。
书斋

您显然还没有阅读问题。“我想要某个按钮上方和下方的一点空白(100px)。” 某个按钮...某个按钮...
Matt S

1
在此之前,他说:“举例来说”。这只是一个例子,不是特定的问题。不要引用上下文。我提供的示例足够多,我提供的所有信息都足够。
书斋

-3

没有比这更干燥

.btn {
    margin-bottom:5px;
}

13
我建议不要修改基本Bootstrap CSS类的样式。
詹姆斯·帕拉瓦加

1
@JamesPalawaga +1。但是,如果这是整个应用程序的通用标准,则可以使用LESS和变量和/或仔细管理的覆盖样式表来覆盖引导样式。
乔纳森(Jonathan)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.