この翻訳から:Twitterのブートストラップを使用してセンターAの列A 3
divがでザ・コンテナ内のサイズのIセンターどのように1列(12列)を行うTwitterのブートストラップ3? どのようにTwitterのブートストラップ3は、 divのコンテナ(12)が中心のサイズのものであろうか?
.centered { background-color: red; }
<body class="container"> <div class="col-lg-1 col-offset-6 centered"> <img data-src="holder.js/100x100" alt="" /> </div> </body>
私はしたいdiv
クラスに、.centered
内のコンテナを中心とするように。 私は1つ欲しいdiv
ここで、.centered
クラスを中央コンテナ内に位置します。 IF A行は、私は複数あります使ってもdiv
S、しかし、今のところ、私はちょうどAをしたいdiv
。コンテナ(列12)を中心としたWITHINのサイズで1列に よりがある場合div
、私は1行を使用することができることが、今、私はちょうど欲しいですdiv
、中心部などの容器(12)の大きさの範囲内です。
また、AMの確かなアプローチ上記の私は、ASはで相殺する意向でグッド十分にありませんされていないdiv
半分に。 意図はしていないので、上記の方法は、十分に良好であれば、私はよく分からないdiv
半分を相殺しました。 スペースは外でフリーとして私を必要としないdiv
で、との内容にdiv
比例して縮小します。 私は外の自由空間は必要ありませんdiv
し、コンテンツをdiv
縮小します。 欲しいために私は空間の外に均等に分配されるようにDIVを空(ISつの列に等しい幅コンテナティル縮小)。 私がしたい均一にするためのdivの外にスペースを残す(狭い幅は、コンテナまで、1に等しいです)。
#1階
参考:Twitterの-Bootstrap-センターを使用してhttps://stackoom.com/question/1EAU6/コラム
ハウス#2
ブートストラップの3は今、内蔵しているクラスのこのために.center-block
ブートストラップに。3、今これがいる.center-block
ビルトインクラス
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
それでも2.Xを使用している場合は、ちょうどあなたのCSSにこれを追加します。 あなたはまだ2.Xを使用している場合、あなたは、単にCSSにそれを追加することができますすることができます。
ハウス#3
センタリングへのアプローチ二つあり、カラムA <div>
のブートストラップ3: ブートストラップを作るために2つの方法があり3列が<div>
中心。
アプローチ1(オフセット): 方法1(オフセット):
最初のアプローチは、ブートストラップの独自のオフセットを使用しています 、それはマークアップと余分なCSSを変更する必要はありませんので、クラスを。 第一の方法は、ブートストラップ・オフセットクラスを所有して使用して、マークを変更するには、追加のCSSを必要としない必要はありません。 ISの鍵SET ANは、行のサイズを残りの半分のオフセット。 キーはあるラインの大きさの残りの半分に等しくなるように設定されているオフセット。 SO。たとえば、サイズ2の列Aは、ANはAPOSこと、5のオフセットを加算することによってセンタリングされるであろう(12-2)/2
。 したがって、例えば、カラム2の大きさのオフセット5(即ち、添加することにより(12-2)/2
中心。
マークアップでは、これは次のようになります。 タグには、それは次のようになります。
<div class="row">
<div class="col-md-2 col-md-offset-5"></div>
</div>
さて、のための明らかな欠点がありますこの方法。 さて、この方法は重大な欠点があります。 唯一のITは、サイズが偶数列のための作品、SOのみ.col-X-2
、.col-X-4
、col-X-6
、col-X-8
、およびcol-X-10
サポートされています。 これは、偶数列のサイズにのみ適用され、そのためだけのサポート.col-X-2
、.col-X-4
、col-X-6
、col-X-8
とcol-X-10
。
2アプローチ(旧margin:auto
) 方法2(旧margin:auto
)
あなたによるCAN センター任意の列サイズ実績で使用することにより、margin: 0 auto;
あなたが証明を使用することができますmargin: 0 auto;
に中心に任意の列サイズ margin: 0 auto;
技術。 技術。 あなただけの世話をする必要が浮いているのブートストラップのグリッドシステムによって追加されます。 あなたは唯一のブートストラップグリッドシステムによって、フローティング追加するには注意を払う必要があります。 私は次のようにカスタムCSSクラスを定義するお勧めします :以下の 私は、次のように、カスタムCSSクラスを定義することを提案します:
.col-centered{
float: none;
margin: 0 auto;
}
今、あなたは任意の列に追加することができます任意の画面サイズで大きさ、それがブートストラップの応答性のレイアウトとシームレスに動作します: あなたは今、任意の画面サイズの任意のカラム寸法に追加することができ、それがブートストラップのレイアウト応答がないだろう縫い目のコラボレーション:
<div class="row">
<div class="col-lg-1 col-centered"></div>
</div>
注:両方のテクニックは、あなたでしスキップして.row
要素内に、列Aを中心としてきています.container
。、しかし、そのためのコンテナクラスのパディングの実際の列サイズのでしょう、あなたの注意A最小限-difference 注:どちらの方法を省略することができる.row
要素、中心部に位置し、列.container
の内側が、コンテナクラスの充填のために、あなたは、実際の列のサイズで最小の違いに気づくでしょう。
更新: 更新日:
内蔵V3.0.1ブートストラップは、クラスに名前のため、営業を持っているcenter-block
の用途があることmargin: 0 auto
、不足している。しかしfloat:none
、あなたCAN追加することをグリッドシステムでメイクITで動作するようにあなたのCSSへ。 V3.0.1ブートストラップが呼び出されているためcenter-block
、組み込みのクラス、クラス使用margin: 0 auto
、しかし欠けfloat:none
、CSSと組み合わせて使用グリッドシステムにそれを作るために追加することができます。
#4階
これは動作します。 これが実現可能です。 ハックの方法は、おそらく、それが動作します 。うまく それはぞっとする方法かもしれませんが、それはうまく動作します。 これは、応答(Y)について試験した 。 テストの応答性(Y)。
.centered {
background-color: teal;
text-align: center;
}
ハウス#5
好ましい方法センタリング列が使用することである:「Qoffsets'(IE col-md-offset-3
) ように列が中心(即ち、」オフセット好ましい方法は、使用することです」col-md-offset-3
)
ブートストラップを中心3.xの例 ブートストラップ3.xの中央例に
以下のための要素を中心に、Aがあるcenter-block
ヘルパークラス。 のためのセンタリング要素、center-block
ヘルパークラス。
また、あなたによって使用することができますtext-center
にセンターテキスト(インライン要素)。 あなたはまた、使用することができますtext-center
し、テキスト中心(とインライン要素)。
デモ:http://bootply.com/91632 デモ:HTTP://bootply.com/91632
EDIT -として、のコメントで述べられるcenter-block
作品と内容欄ONdisplay:block
要素であろうがない仕事に列そのもの(col-*
使用しているため、ブートストラップにdivを)float
。 編集 -レビューとして、center-block
列とコンテンツを持つdisplay:block
要素のではなく、ために列自体(col-*
ブートストラップの使用以来のdiv)、 float
。
更新2018 更新2018
今ではブートストラップ4で、中心の方法が変更されていています。.. 今でブートストラップ4、芯出し方法が変更されました。
-
text-center
まだのために使用されるdisplay:inline
要素text-center
はまだのために使用されているdisplay:inline
要素 -
mx-auto
置き換えcenter-block
センターへdisplay:block
の要素がmx-auto
されcenter-block
、中央に置き換えdisplay:block
要素 -
offset-*
またはmx-auto
グリッド列センターに使用することができoffset-*
、またはmx-auto
グリッド列をセンタリングするために使用することができます
mx-auto
(X軸オートマージン)ウィルセンターdisplay:block
またはdisplay:flex
Aが有している要素の幅を定義した(、 、%
、vw
、px
など。)。 mx-auto
(自動マージンをxは軸)にdisplay:block
、またはdisplay:flex
要素、これらの要素を有し、中心定義された幅(%
、vw
、px
など)。 デフォルトでフレキシボックスIS使用 SOまたフレキシボックス様々な方法がセンタリングされている。、グリッド列に デフォルトで、のためのフレキシボックスグリッド列、従って、多くの方法のフレキシボックスの中心があります。
デモブートストラップ4水平センタリング デモブートストラップ4は、水平方向の中央
BS4を参照してくださいに中心の垂直方向の数の https://stackoverflow.com/a/41464397/171456 垂直BS4を中心に情報を参照してください https://stackoverflow.com/a/41464397/171456
ハウス#6
単にあなたのカスタムCSSに以下を追加したファイル。 単にあなたのカスタムCSSファイルに以下を追加します。 ブートストラップCSSファイルを直接推奨していない、あなたのA使用する機能キャンセル編集しているCDNを。 あなたの使用取り消すことができますブートストラップCSSファイル、編集直接お勧めしませんCDNのの能力を。
.center-block {
float: none !important
}
なぜ? なぜ?
ブートストラップ(バージョン3.7以下)でのCSSを使用していますマージン:0自動; ブートストラップ上のCSS(3.7以下)使用してマージン:0自動車を; 、しかしによってITは、オーバーライドにフロート財産コンテナのサイズを取得します。 、しかし、コンテナのサイズになりますフロートプロパティをカバーします。
PS: PS:
あなたは、このクラスを追加した後、していない右の順で設定されたクラスに忘れている。 このように追加した後、正しい順序クラスを設定することを忘れないでください。
<div class="col-md-6 center-block">Example</div>