私は非常に基本的な例に従おうとしています。 スターターページとグリッドシステム を使用して、私は次のことを望んでいました:
<div class="row">
<div class="span12">
<h1>Bootstrap starter template</h1>
<p>Example text.</p>
</div>
</div>
...中央揃えのテキストを作成します。
しかし、それはまだ左端に表示されます。何がおかしいのですか?
他の種類のコンテンツについては、 Flavienの回答 を参照してください。
更新:Bootstrap 2.3.0+回答
当初の答えは初期のブートストラップでした。ブートストラップ2.3.0以降、 divにクラス.text-center
を与えることができます。
元の回答(2.3.0以前)
row
またはspan12
の2つのクラスのいずれかをtext-align: center
で定義する必要があります。 http://jsfiddle.net/xKSUH/ または http://jsfiddle.net/xKSUH/1/ を参照してください。
注:これはBootstrap 3では 削除されていました 。
ブートストラップ3より前では、CSSクラスpagination-centered
を次のように使用できます。
<div class="span12 pagination-centered">
Centered content.
</div>
クラスpagination-centered
はすでにbootstrap.css(またはbootstrap.min.css)にあり、唯一の規則があります。
.pagination-centered{text-align:center;}
ブートストラップ2.3.0。 クラスtext-center
を使う
ここにいる人たちの大半は、テキストの内容だけではなく全体のdiv
への道を実際に探していると思います(これは些細なことです…)。
HTMLの中心に配置するには(text-align:centerを使用する代わりに)2番目の方法で、固定幅と自動マージン(左右)を持つ要素を使用します。 Bootstrapでは、自動マージンを定義するスタイルは「コンテナ」クラスです。
<div class="container">
<div class="span12">
"Centered stuff there"
</div>
</div>
フィドルのためにここに見てみましょう: http://jsfiddle.net/D2RLR/7788/
「コンテンツの中心化」とは、さまざまなことを意味する場合があり、Bootstrapの中心化は元の投稿から大きく変わっています。
ブートストラップ3
text-center
はdisplay:inline
要素に使用されますcenter-block
はdisplay:block
要素を中央に配置しますcol-*offset-*
はグリッド列を中央に配置しますブートストラップ4
text-center
は引き続きdisplay:inline
要素に使用されますmx-auto
はcenter-block
をdisplay:block
要素の中央に置き換えますoffset-*
ormx-auto
を使用してグリッド列を中央に配置できますrow
のjustify-content-center
は、col-*
の中央揃えにも使用できます。mx-auto
(自動x軸マージン)は、定義された幅、(display:block
、vw
、px
など)を持つdisplay:flex
または%
要素を中央に配置します。 Flexboxはグリッド列でデフォルトで使用されます。したがって、さまざまなflexboxセンタリング方法もあります。
DemoBootstrap 4 Horizontal Centering
Bootstrap 4はデフォルトでflexboxであるため、次を使用して垂直方向の配置にさまざまなアプローチがあります: auto-margins 、 flexbox utils 、または display utils と一緒に vertical align utils 。最初は「vertical align utils」は明らかなように見えますが、これらはonlyインラインおよびテーブル表示要素で動作します。いくつかのBootstrap 4つの垂直方向の中央揃えオプションがあります。
1-自動マージンを使用した垂直方向の中央:
垂直方向に中央揃えする別の方法は、my-auto
を使用することです。これにより、コンテナ内の要素が中央に配置されます。たとえば、h-100
は行を完全な高さにし、my-auto
はcol-sm-12
列を垂直方向に中央揃えにします。
<div class="row h-100">
<div class="col-sm-12 my-auto">
<div class="card card-block w-25">Card</div>
</div>
</div>
my-auto
は、垂直Y軸のマージンを表し、次と同等です。
margin-top: auto;
margin-bottom: auto;
2-フレックスボックス付き垂直センター:
Bootstrap 4 .row
がdisplay:flex
になったため、任意の列でalign-self-center
を使用して、垂直方向に中央揃えすることができます...
<div class="row">
<div class="col-6 align-self-center">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
または、align-items-center
全体で.row
を使用して、行のすべてのcol-*
を垂直方向に中央揃えにします...
<div class="row align-items-center">
<div class="col-6">
<div class="card card-block">
Center
</div>
</div>
<div class="col-6">
<div class="card card-inverse card-danger">
Taller
</div>
</div>
</div>
3-ディスプレイユーティリティを使用した垂直方向の中央:
ブートストラップ4には、 display utils があり、display:table
、display:table-cell
、display:inline
などに使用できます。これらは vertical alignment utils とともに使用して、インライン、インラインブロック、またはテーブルのセル要素。
<div class="row h-50">
<div class="col-sm-12 h-100 d-table">
<div class="card card-block d-table-cell align-middle">
I am centered vertically
</div>
</div>
</div>
ブートストラップ3.1.1 divをセンタリングするための.center-block
クラスがあります。 http://getbootstrap.com/css/#helper-classes-center を参照してください。
コンテンツブロックのセンタリング要素を
display: block
に設定し、margin
を介してセンタリングします。 mixinとクラスとして利用可能です。
<div class="center-block">...</div>
あるいは、他の人がすでに言っているように、テキストを中央に配置するために.text-center
クラスを使用してください。
これを行う最良の方法はCSSスタイルを定義することです:
.centered-text {
text-align:center
}
それからあなたが中心のテキストを必要とするところはどこでもあなたはそれをそのように加えます:
<div class="row">
<div class="span12 centered-text">
<h1>Bootstrap starter template</h1>
<p>Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
</div>
</div>
あるいはpタグを中央揃えにしたいだけなら:
<div class="row">
<div class="span12 centered-text">
<h1>Bootstrap starter template</h1>
<p class="centered-text">Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
</div>
</div>
インラインCSSが少なければ少ないほどよいでしょう。
2013年2月の時点で、場合によっては、 "span" divに "centered"クラスを追加しています。
<div class="container">
<div class="row">
<div class="span9 centred">
This div will be centred.
</div>
</div>
</div>
そしてCSSへ:
[class*="span"].centred {
margin-left: auto;
margin-right: auto;
float: none;
}
これは、span * divが左に浮いているためで、「自動マージン」センタリング手法はdivが浮いていない場合にのみ機能します。
デモ(JSFiddle上): http://jsfiddle.net/5RpSh/8/embedded/result/
JSFiddle: http://jsfiddle.net/5RpSh/8/ /
リンクの例では、クラス.show-gridが中央揃えのテキストを適用しています。
あなたはいつでもstyle="text-align:center"
をあなたのrow divまたは他のクラスに追加することができます。
Bootstrap 3を使用する場合は、 .text-center という名前の組み込みCSSクラスもあります。それがあなたが望むものです。
<div class="text-left">
left
</div>
<div class="text-center">
center
</div>
<div class="text-right">
right
</div>
Jsfiddleの例を見てください。 http://jsfiddle.net/ucheng/Q4Fue/ /
ブートストラップ2.3にはtext-center
クラスがあります。
<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>
私の側では、使いやすく覚えやすい新しいCSS
スタイルを定義します。
.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}
.justify { text-align: justify;}
.fleft { float: left;} /*-> similar to .pull-left already existing in bootstrap*/
.fright { float: right;} /*-> similar to .pull-right already existing in bootstrap*/
.vab { vertical-align: bottom;}
.bold { font-weight: bold;}
.italic { font-style: italic;}
それは良い考えですか? これに何か良い方法はありますか?
Bootstrap 2.0以降を使用している場合
これでdivをページの中央に配置できます。
<div class="row">
<div class="span4 offset4">
//your content here gets centered of the page
</div>
</div>
どんなテキスト整列ユーティリティクラスでもうまくいくでしょう。ブートストラップは長い間テキストを中央揃えするために.text-center
クラスを使ってきました。
.text-center { text-align: center !important; }
またはあなた自身のユーティリティを作成することもできます。私は長年にわたって見たいくつかのバリエーション:
.u-text-center { text-align: center !important; }
.ta-center { text-align: center !important; }
.ta\:c { text-align: center !important; }
.span
で調整する必要があります。
例:
<div class="container-fluid">
<div class="row-fluid">
<div class="span4"></div>
<!--/span-->
<div class="span4" align="center">
<div class="hero-unit" align="center">
<h3>Sign In</h3>
<form>
<div class="input-prepend">
<span class="add-on"><i class="icon-envelope"></i> </span>
<input class="span6" type="text" placeholder="Email address">
</div>
<div class="input-prepend">
<span class="add-on"><i class="icon-key"></i> </span>
<input class="span6" type="password" placeholder="Password">
</div>
</form>
</div>
</div>
<!-- /span -->
<div class="span4"></div>
</div>
<!-- /row -->
</div>
応答性(モバイル互換性)を維持しながら情報ブロックをセンタリングするための私の好ましい方法は、あなたがセンタリングしたいコンテンツの前後に2つの空のspan1
divを置くことです。
<div class="row-fluid">
<div class="span1">
</div>
<div class="span10">
<div class="hero-unit">
<h1>Reading Resources</h1>
<p>Read here...</p>
</div>
</div><!--/span-->
<div class="span1">
</div>
</div><!--/row-->
Bootstrapバージョン3.1.1以降では、コンテンツを中央揃えにするための最善のクラスは.center-block
ヘルパークラスです。
あなたは以下のタイプのどれでも使うことができます
text-center
を使用してください。style = "text-align:center"
。列オフセットを使用します。
例:<div class="col-md-offset-6 col-md-12"></div>
センターブロックも上記の回答で言及されていないオプションです
<div class="center-block" style="width:200px;background-color:#ccc;">...</div>
center-block
クラスがすることはすべて、余白を0 autoに設定することです。autoは左右の余白です。ただし、クラスtext-centerまたはcss text-align:centerを除きます。が親に設定されている場合、要素はこの自動計算を実行するポイントを認識していないため、期待どおりに中心に配置されません。
そのため、text-centerがより良い選択肢です。
<div class="container">
<div class="col-md-12 centered">
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
label
</div>
<div class="col-md-1"></div>
</div>
</div>
</div>
主に容器液を使用しないでください。
必要なdivまたはタグには、text-centerというクラスを使用するだけです。私はそれがうまくいくかもしれないと思います。これはテキストの整列中心のためのブートストラップクラスです。
ここにいくつかのテキスト整列Bootstrapクラスがあります:
text-left, text-right, text-justify, etc.
<div class="row">
<div class="col-md-12 text-center">
<h1>Bootstrap starter template</h1>
<p>Example text.</p>
</div>
</div>
私は2つの方法を試しました、そしてそれはdivを中心に置くのはうまくいきました。どちらの方法でも、すべての画面でdivが調整されます。
方法1:プッシュを使用する:
<div class = "col-lg-4 col-md-4 col-sm-4 col-xs-4 col-lg-Push-4 col-md-Push-4 col-sm-Push-4 col-xs-Push-4" style="border-style:solid;border-width:1px">
<h2>Grievance form</h2> <!-- To center this text, use style="text-align: center" -->
</div>
方法2:オフセットを使用する:
<div class = "col-lg-4 col-md-4 col-sm-4 col-xs-4 col-lg-offset-4 col-md-offest-4 col-sm-offest-4 col-xs-offest-4" style="border-style:solid;border-width:1px">
<h2>Grievance form</h2> <!--to center this text, use style="text-align: center"-->
</div>
結果:
説明
ブートストラップは、左側に、指定された画面占有率の最初の列を指定します。オフセットまたはプッシュを使用すると、「this」列が「それら」の列数分だけ移動します。オフセットの応答性にはいくつかの問題がありましたが、Pushは最高でした。
更新2018年:
Bootstrap 4.1.3 では、クラスmx-auto
を使用してコンテンツを中央に配置できます。
<div class="mx-auto">
Centered element
</div>
参照: https://getbootstrap.com/docs/4.1/utilities/spacing/#horizontal-centering
レスポンシブ機能を維持しながら、画面サイズに関係なく中央に配置するためにこのクラスを作成しました。
.container {
alignment-adjust: central;
}