メインの親の内側でHTML要素を垂直方向または水平方向に中央揃えする方法はありますか?
更新 :この答えは2013年初頭に正解であった可能性がありますが、もう使用しないでください。適切な解決策 オフセットを使う 。
他のユーザの提案としては、次のようなネイティブなブートストラップクラスもあります。
class="text-center"
class="pagination-centered"
@Henningと@trejderに感謝します
要素を
display: block
に設定し、margin
を介して中央に配置します。 mixinとクラスとして利用可能です。
<div class="center-block">...</div>
この質問への将来の訪問者のために:
画像をdivの中央に配置しようとしたが画像が中央に配置されない場合は、これが問題の原因となる可能性があります。
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
img-responsive
クラスはimageタグにdisplay:block
命令を追加します。これはtext-align:center
(text-center
クラス)が機能するのを停止します。
溶液:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
center-block
クラスを追加すると、display:block
クラスを使用して入れたimg-responsive
命令がオーバーライドされます。
img-responsive
クラスがなければ、画像はtext-center
クラスを追加するだけで中央揃えになります。
また、 flexbox の基本とその使用方法を知っておく必要があります。これは Bootstrap4が現在ネイティブに使用している です。
これは優れた、テンポの速い--- Brad Schiffによるビデオチュートリアル
これは素晴らしいです チートシート
2018年更新
Bootstrap 4 では、 centering メソッドが変更されました。
BS4の水平方向の中心
text-center
はまだdisplay:inline
要素に使用されていますmx-auto
は、center-block
をdisplay:flex
の子を中心に配置するために置き換えます。offset-*
ormx-auto
はグリッド列を中央揃えにするために使用できますmx-auto
(自動x軸余白)は、定義された幅、(display:block
、vw
、px
など)を持つdisplay:flex
または%
要素を中央に配置します。 グリッドボックスではデフォルトで が使用されているため、さまざまなFlexboxのセンタリング方法もあります。
BS4の垂直方向のセンタリングについては、 https://stackoverflow.com/a/41464397/171456 を参照してください。
あなたは直接このようにあなたのcssファイルに書くことができます:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
私はこれを使う
<style>
html, body {
height: 100%;
margin: 0;
padding: 0 0;
}
.container-fluid {
height: 100%;
display: table;
width: 100%;
padding-right: 0;
padding-left: 0;
}
.row-fluid {
height: 100%;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.centering {
float: none;
margin: 0 auto;
}
</style>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="offset3 span6 centering">
content here
</div>
</div>
</div>
</body>
水平方向の中央揃えでは、次のようなものがあります。
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
私は同様の質問からこの解決策が好きです。 https://stackoverflow.com/a/25036303/2364401 実際のテーブルデータのtext-center
およびテーブルヘッダーの<td>
要素にブートストラップの<th>
クラスを使用します。そう
<td class="text-center">Cell data</td>
そして
<th class="text-center">Header cell data</th>
ブートストラップ4では、flexを使うことができます
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
ソース: ブートストラップ4.1
bootstrap4 いくつかの項目の垂直方向の中央
d-flex フレックスルール用
flex-column アイテムの垂直方向
両端揃え - content-center センタリング用
style = '高さ:300ピクセル;' は、中心が計算式である設定点に対しては h-100 classを使用する必要があります
<div class="d-flex flex-column justify-content-center bg-secondary" style="
height: 300px;
">
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
</div>
私はBootstrap 4でこれを実行できることを発見しました:
水平中央 は確かにtext-center
クラス
center vertical ただし、ブートストラップクラスを使用すると、mb-auto mt-auto
が追加され、margin-topとmargin bottomがautoに設定されます。