Bootstrap2でdivを中央に配置する方法は?


84

http://twitter.github.com/bootstrap/scaffolding.html

私はすべての組み合わせのように試しました:

<div class="row">
  <div class="span7 offset5"> box </div>
</div>

または

<div class="container">
  <div class="row">
    <div class="span7 offset5"> box </div>
  </div>  
</div>

変更されたスパンとオフセット番号..

しかし、ページの中央に完全に配置された単純なボックスを取得することはできません:(

中央に6列幅のボックスが欲しいだけです...


編集:

でやった

<div class="container">
  <div class="row" id="login-container">
    <div class="span8 offset2">
       box
    </div>
  </div>
</div>

しかし、ボックスが広すぎるので、span7でそれを行う方法はありますか?

span7 offset2左側にspan7 offset3余分なパディングを与え、右側に余分なパディングを与えます。


ボックスをページの水平方向の中央に配置しようとしていますか?containerクラスはすでにそれを行っているので、小さなボックスを中央に配置しようとしているのではないかと考えました。または、ボックスをページの水平方向と垂直方向の両方の中央に配置しようとしていますか?
Andres Ilich 2012

14
あなたが言う箱のこと?。。。。ここで開発者の世界では、それをdivと呼びます
pythonian29033 2013年

どのバージョンのBootstrapを使用していましたか?これを調べている人はここに行き着き、古いコードが表示されるため、タイトルに反映する必要があります。
jGallardo 2015年

回答:


46

そのようにスパンサイズを減らすことによって、あなたが希望のサイズにdiv要素自体を縮小以外にも... class="span6 offset3"class="span4 offset4"など...のような単純なように、何かstyle="text-align: center"のdivには、あなたが探している効果を持つことができます

オフセットを設定してspan7を使用し、スパンをページの中央に配置することはできません(合計スパン= 12のため)


12
ZuhaibAliの答えを考えてみましょう。text-align:centerは、<div>内の要素を中央揃えにする場合は機能しません。offset *クラスは、コンポーネントを真に中心に置くわけではありません。それは単にセンタリングの幻想を作り出しているだけです。これを確認するには、ウィンドウのサイズを変更し、コンポーネントが中央に配置されたままになっていないことを確認します。Zuhaib Aliの方法を適用すると、コンポーネントは中央に配置されたままになります。
BigSauce 2013

インラインスタイル(style = "text-align:center")を追加する代わりに、クラス "center-block"を追加して、中央のdiv内に中央のコンテンツを取得します。
ショーンテイラー

col-md-4またはcol-lg-4はマージンに等しい:0 auto; ?
jruzafa 2016年

165

ブートストラップのスパンは左に浮かんでいます。それらを中央に配置するために必要なのは、この動作をオーバーライドすることだけです。これをスタイルシートに追加して行います。

.center {
     float: none;
     margin-left: auto;
     margin-right: auto;
}

このクラスを定義している場合は、それをスパンに追加するだけで準備完了です。

<div class="span7 center"> box </div>

このカスタムセンタークラスは、ブートストラップcssのに定義する必要があることに注意してください。使用できます!importantが、お勧めしません。


5
はい!ありがとう、ズハイブ!完璧に動作しました。この回答は、この質問の正解として投票する必要があります。
BigSauce 2013

@ZuhaibAli追加float: none;すると問題が修正されます。
SIFE 2013

1
私はRailsを使用しているので、application.cssで、*= require bootstrap.min に追加*= require_self*= require_tree

2
これは私にはうまくいきませんでしたが、追加display: tableすると修正されたようです
Peter Berg

1
素晴らしい答えです!これからこれで作業します。
serv-bot 2013年

34

Bootstrap3には、.center-block使用できるクラスがあります。それは次のように定義されています

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

ドキュメントはこちら


20

フルブートストラップ(自動の左/右の方法ではない)を実行する場合は、12列に収まるパターンが必要です(例:2つの空白、8つのコンテンツ、2つの空白)。それがこのセットアップが行うことです。それは-md-バリアントのみをカバーします、私はcol-xs-12を追加することによってそれを小さいためにフルサイズにスナップする傾向があります

<div class="container">
  <div class="col-md-8 col-md-offset-2">
     box
  </div>
</div>

それはブーストラップでdivを中央に配置する有効な方法ですか?
Gavindra Kalikapersaud 2014

1
divのコンテンツは中央に配置されていませんが、div自体は中央に配置されています。
クレイグ

8

単一のコンテナを中央揃えにしたかったようです。ブートストラップフレームワークは、その1つの例を複雑にしすぎている可能性があります。たとえば、次のような独自のスタイルを持つスタンドアロンのdivがあった可能性があります。

<div class="login-container">
  <!-- Your Login Form -->
</div>

とスタイル:

.login-container {
  margin: 0 auto;
  width: 400px; /* Whatever exact width you are looking for (not bound by preset bootstrap widths) */
}

ブートストラップ.containerdiv内のどこかにネストされている場合は、これで問題なく機能するはずです。


3

クラスcentercontentsを追加します

/** Center the contents of the element **/
.centercontents {
    text-align: center !important;
}

0

@ZuhaibAliコードは私にとっては一種の作業ですが、少し変更しました:

cssで新しいクラスを作成しました

.center {
     float: none;
     margin-left: auto;
     margin-right: auto;
}

その後、divは

<div class="center col-md-6"></div>

div自体の幅にcol-md-6を追加しました。これは、この状況ではdivが半分のサイズであることを意味し、ブートストラップには1〜12のcolmdがあります。



0

divをクラスを持つ親divでラップしてから、divにrowスタイルmargin:0 auto;を追加します

<div class="row">
  <div style="margin: 0 auto;">center</div>
</div>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.