问题
What's the best way to add vertical whitespace using Twitter's Bootstrap?
For example, let's say that I am creating a landing page and would like a bit (100px) of blank whitespace above and below a certain button. Obviously, I could create a certain class for that particular button. But, I would think that Bootstrap should have a DRY way of adding in vertical blank spaces.
回答1:
In Bootstrap 4 there are spacing utilites.
Citing the documentation for used notation:
Spacing utilities that apply to all breakpoints, from
xs
toxl
, have no breakpoint abbreviation in them. This is because those classes are applied frommin-width: 0
and up, and thus are not bound by a media query. The remaining breakpoints, however, do include a breakpoint abbreviation.The classes are named using the format
{property}{sides}-{size}
forxs
and{property}{sides}-{breakpoint}-{size}
forsm
,md
,lg
, andxl
.Where property is one of:
m
- for classes that setmargin
p
- for classes that setpadding
Where sides is one of:
t
- for classes that setmargin-top
orpadding-top
b
- for classes that setmargin-bottom
orpadding-bottom
l
- for classes that setmargin-left
orpadding-left
r
- for classes that setmargin-right
orpadding-right
x
- for classes that set both*-left
and*-right
y
- for classes that set both*-top
and*-bottom
- blank - for classes that set a
margin
orpadding
on all 4 sides of the elementWhere size is one of:
0
- for classes that eliminate the margin or padding by setting it to0
1
- (by default) for classes that set themargin
orpadding
to$spacer * .25
2
- (by default) for classes that set themargin
orpadding
to$spacer * .5
3
- (by default) for classes that set themargin
orpadding
to$spacer
4
- (by default) for classes that set themargin
orpadding
to$spacer * 1.5
5
- (by default) for classes that set themargin
orpadding
to$spacer * 3
So to have some extra vertical space above and below an element you would use my-5
class.
回答2:
In v2, there isn't anything built-in for that much vertical space, so you'll want to stick with a custom class. For smaller heights, I usually just throw a <div class="control-group">
around a button.
回答3:
Wrapping works but when you just want a space, I like:
<div class="col-xs-12" style="height:50px;"></div>
回答4:
Sorry to dig an old grave here, but why not just do this?
<div class="form-group">
</div>
It will add a space the height of a normal form element.
It seems about 1 line on a form is roughly 50px (47px on my element I just inspected). This is a horizontal form, with label on left 2col and input on right 10col. So your pixels may vary.
Since mine is basically 50px, I would create a spacer of 50px tall with no margins or padding;
.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>
回答5:
I know this is old, but I came here searching for the same thing, I found that Bootstrap has the help-block, very handy for these situations:
<div class="help-block"></div>
回答6:
For version 3 there doesn't appear to be "bootstrap" way to achieve this neatly.
A panel
, a well
and a form-group
all provide some vertical spacing.
A more formal specific vertical spacing solution is, apparently, on the roadmap for bootstrap v4
https://github.com/twbs/bootstrap/issues/4286#issuecomment-36331550 https://github.com/twbs/bootstrap/issues/13532
回答7:
I merely created a div class using various heights i.e.
<div class="divider-10"></div>
The CSS is:
.divider-10 {
width:100%;
min-height:1px;
margin-top:10px;
margin-bottom:10px;
display:inline-block;
position:relative;
}
Just create a divider class for what ever heights are needed.
回答8:
My trick. Not elegant, but it works:
<p> </p>
回答9:
Just use <br/>
. I found myself here looking for the answer to this question and then felt sort of silly for not thinking about using a simple line break as suggested by user JayKilleen in a comment.
回答10:
I tried using <div class="control-group">
and it did not change my layout. It did not add vertical space. The solution that worked for me was:
<ol style="visibility:hidden;"></ol>
If that doesn't give you enough vertical space, you can incrementally get more by adding nested <li> </li>
tags.
回答11:
I know this is old and there are several good solutions already posted, but a simple solution that worked for me is the following CSS
<style>
.divider{
margin: 0cm 0cm .5cm 0cm;
}
</style>
and then create a div in your html
<div class="divider"></div>
回答12:
<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
回答13:
There is nothing more DRY than
.btn {
margin-bottom:5px;
}
来源:https://stackoverflow.com/questions/12273588/add-vertical-whitespace-using-twitter-bootstrap