Twitterのブートストラップを使用して垂直方向の空白を追加する最良の方法は何ですか?
たとえば、ランディングページを作成していて、特定のボタンの上下に少し(100px)の空白を入れたいとします。明らかに、その特定のボタンに対して特定のクラスを作成できます。しかし、Bootstrapには、垂直方向の空白スペースを追加するDRYの方法が必要だと思います。
Twitterのブートストラップを使用して垂直方向の空白を追加する最良の方法は何ですか?
たとえば、ランディングページを作成していて、特定のボタンの上下に少し(100px)の空白を入れたいとします。明らかに、その特定のボタンに対して特定のクラスを作成できます。しかし、Bootstrapには、垂直方向の空白スペースを追加するDRYの方法が必要だと思います。
v2には、それほど多くの垂直方向のスペースが組み込まれていないため、カスタムクラスを使用する必要があります。高さが小さい場合は、通常<div class="control-group">
、ボタンの周りに投げます。
ラッピングは機能しますが、スペースが必要な場合は、次のようにします。
<div class="col-xs-12" style="height:50px;"></div>
Bootstrap 4/5には、スペーシングユーティリティ(BS4、BS5)があります。
ドキュメントからの抜粋:
xs
からまでのすべてのブレークポイントに適用される間隔ユーティリティにxl
は、ブレークポイントの省略形はありません。これは、これらのクラスが上から適用さmin-width: 0
れ、メディアクエリにバインドされていないためです。ただし、残りのブレークポイントには、ブレークポイントの省略形が含まれています。クラスには、、、、、およびの形式を使用して 名前が
{property}{sides}-{size}
付けられます。xs
{property}{sides}-{breakpoint}-{size}
sm
md
lg
xl
プロパティが次のいずれかである場合:
m
-設定するクラスの場合margin
p
-設定するクラスの場合padding
側面が1つである場合( BS4とBS5の違いに注意してください):
t
margin-top
-またはを設定するクラスの場合padding-top
b
margin-bottom
-またはを設定するクラスの場合padding-bottom
l
margin-left
-または(ブートストラップ4)を設定するクラスの場合padding-left
s
margin-left
-または(ブートストラップ5)を設定するクラスの場合padding-left
r
margin-right
-または(ブートストラップ4)を設定するクラスの場合padding-right
e
margin-right
-または(ブートストラップ5)を設定するクラスの場合padding-right
x
*-left
-との両方を設定するクラスの場合*-right
y
*-top
-との両方を設定するクラスの場合*-bottom
- 空白-要素の4辺すべてに
margin
またはを設定するクラスの場合padding
サイズは次のいずれかです。
0
-に設定してマージンまたはパディングを削除するクラスの場合0
1
-(デフォルト)margin
またはpadding
をに設定するクラスの場合$spacer * .25
2
-(デフォルト)margin
またはpadding
をに設定するクラスの場合$spacer * .5
3
-(デフォルト)margin
またはpadding
をに設定するクラスの場合$spacer
4
-(デフォルト)margin
またはpadding
をに設定するクラスの場合$spacer * 1.5
5
-(デフォルト)margin
またはpadding
をに設定するクラスの場合$spacer * 3
したがって、要素の上下に垂直方向のスペースを追加するには、my-5
クラスを使用します。
ここで古い墓を掘ってすみませんが、なぜこれをしないのですか?
<div class="form-group">
</div>
通常のフォーム要素の高さのスペースが追加されます。
フォームの約1行は約50px(先ほど調べた要素では47px)のようです。これは水平形式で、左側に2列のラベルがあり、右側の10列に入力があります。そのため、ピクセルが異なる場合があります。
私のは基本的に50pxなので、余白やパディングのない高さ50pxのスペーサーを作成します。
.spacer { margin:0; padding:0; height:50px; }
<div class="spacer"></div>
私はこれが古いことを知っていますが、私は同じことを探してここに来ました、私はBootstrapがこれらの状況に非常に便利なヘルプブロックを持っていることを発見しました:
<div class="help-block"></div>
バージョン3の場合、これを適切に実現するための「ブートストラップ」方法はないようです。
A panel
、a、well
およびform-group
すべては、垂直方向の間隔を提供します。
より正式な特定の垂直間隔ソリューションは、明らかに、ブートストラップv4のロードマップにあります。
https://github.com/twbs/bootstrap/issues/4286#issuecomment-36331550 https://github.com/twbs/bootstrap/issues/13532
さまざまな高さを使用して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;
}
必要な高さの仕切りクラスを作成するだけです。
私のトリック。エレガントではありませんが、機能します。
<p> </p>
私はこれが古く、すでにいくつかの良い解決策が投稿されていることを知っていますが、私のために働いた簡単な解決策は次のCSSです
<style>
.divider{
margin: 0cm 0cm .5cm 0cm;
}
</style>
次に、HTMLにdivを作成します
<div class="divider"></div>
を使用するだけ<br/>
です。私はここでこの質問に対する答えを探していることに気づき、ユーザーのJayKilleenがコメントで提案したように、単純な改行を使用することを考えなかったのはちょっとばかげていると感じました。
使っ<div class="control-group">
てみましたが、レイアウトは変わりませんでした。垂直方向のスペースは追加されませんでした。私のために働いた解決策は次のとおりでした:
<ol style="visibility:hidden;"></ol>
それでも十分な垂直方向のスペースが得られない場合は、ネストされた<li> </li>
タグを追加することで、段階的にスペースを増やすことができます。
<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
ドライ以上のものはありません
.btn {
margin-bottom:5px;
}