画像のデッドセンターをブートストラップに合わせる方法


207

私はブートストラップフレームワークを使用しており、画像を水平方向に中央揃えにしようとしていますが、成功しません。

12グリッドシステムを3つの等しいブロックに分割するなど、さまざまなテクニックを試しました。

<div class="container">
    <div class="row">
      <div class="span4"></div>
      <div class="span4"><img src="logo.png" /></div>
      <div class="span4"></div>
    </div>
</div>

ページに対して画像を中央に配置する最も簡単な方法は何ですか?


そしてところで。「列のオフセット」セクションをご覧ください。twitter.github.com/bootstrap/scaffolding.html#gridSystem
mind85

誰かがこれを回答ではないとフラグを立てました、そして私は同意します。これをコメントとして追加してください。回答はまもなく削除されます。
tckmn 2013年

1
タグにimg-responsiveクラスがある場合img、画像が中央に配置されない可能性があります。ブートストラップクラスを使用してブートストラップ方法で問題が解決される理由については、このSOの回答を 参照してくださいcenter-block
cssyphus 2016年

ブートストラップを使用している場合は、それを実行できます:stackoverflow.com/a/59469712/4654957
DiegoVenâncioDec

回答:


271

Twitter Bootstrap v3.0.3には、center-blockというクラスがあります。

センターコンテンツブロック

表示する要素を設定します:ブロックとマージンを介した中央揃え。ミックスインとクラスとして利用できます。

タグにクラスを追加するだけ.center-blockで、imgこのようになります

<div class="container">
  <div class="row">
    <div class="span4"></div>
    <div class="span4"><img class="center-block" src="logo.png" /></div>
    <div class="span4"></div>
  </div>
</div>

Bootstrapでは、CSSスタイルの呼び出し.center-blockがすでにあります

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

こちらからサンプルをご覧いただけます


1
divの終了</div>タグcontainerがないようです。これは、v3.3.7では機能しません
tarabyte

141

これを行う正しい方法は

<div class="row text-center">
  <img ...>
</div>

25
私にとっては、このやっていない作品この上でそれを使用している場合- startbootstrap.com/round-about ..しかし、クラスの追加center-block<img>要素が..働いた
Sumeet Pareek

3
text-centerはimg-sensitiveクラスの画像では機能しませんが、上記のコメント(center-blockについて)はこの問題を解決します
トロイの木馬

観察:Bootstrap v3.1.0では、列にtext-centerを追加することで、img-sensitiveを列の中央に配置できます。この動作はv3.3.4で壊れています。とてもうるさい。Cssは吸う。
f470071

ドキュメントで述べられているように、代わりにセンターブロックを使用する必要があります:getbootstrap.com/css/#images-sensitive
Nacho

95

2018年の更新

このcenter-blockクラスはBootstrap 4には存在しません。Bootstrap 4で画像を中央に配置するには、mx-auto d-block...

<img src="..." class="mx-auto d-block"/>

6
「Update 2018」に少し説明を追加するだけです:mx-autoは左右のマージンをautoに設定します。d-blockセットdisplay:block
Michael Moriarty

85

「center-block」をクラスとしてイメージに追加-追加のCSSは不要

<img src="images/default.jpg" class="center-block img-responsive"/>

8
なぜ-1なのかわからない-これは最も優れた回答です。Bootstrapに組み込まれたヘルパークラスを使用します。
user2562923 2014

4
ブートストラップ4では、次のmx-auto代わりに使用center-block
Quantum7

52

Twitterブートストラップには、中心となるクラスがあります:.pagination-centered

それは私にとってはうまくいった:

<div class="row-fluid">
   <div class="span12 pagination-centered"><img src="header.png" alt="header" /></div>
</div>

クラスのcssは次のとおりです。

.pagination-centered {
  text-align: center;
}

18
それとも.text-centerクラス?
trejder 2013年


28

画像のほかに何もないと仮定するとtext-align: centerimg親で使用するのが最善の方法です。

.row .span4 {
    text-align: center;
}

編集する

他の回答で述べたように、ブートストラップCSSクラス.text-centerを親要素に追加できます。これはまったく同じことを行い、v2.3.3v3の両方で使用できます


完璧-それは仕事です。しかし、画像の下に<ul>要素があると言います...これは期待どおりに中央に配置されません、何か追加できますか?おかげで
フィクサー

1
.row以降、Twitterブートストラップのコアクラスの1つ。このページのtwitter.github.com/bootstrap/index.htmlのようなクラスをマストヘッドで定義することをお勧めします。
baptme

1
@Fixer <ul>は依然として中央に整列する必要があります:jsfiddle.net/N74N7/1他のCSSコードが影響しているはずです
頭が痛む

2〜3時間以上費やし、この行のみを使用しました...ありがとうございます!
アラミン

18

私のために働く。使ってみるcenter-block

<div class="container row text-center">
    <div class="row">
      <div class="span4"></div>
      <div class="span4"><img class="center-block" src="logo.png" /></div>
      <div class="span4"></div>
    </div>
</div>

6

私は同じものが必要であり、ここで解決策を見つけました:

https://stackoverflow.com/a/15084576/1140407

<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;
}

ブートストラップの人はそれをCSSに追加する必要があると思います
Muhammad Ahsan 2013

こんにちは、ありがとう!現在、Bootstrap v3を使用しています。これをimgコンテナーdivに追加したので、物事を機能させるために、少なくともdivの正確な幅を指定する必要がありました。コンテナがない場合や画像サイズが異なる場合は、このクラスを画像に追加します。
2013年


1

ブラウザのバージョンに問題がなければ、新しいHTML5機能を使用できるようです。

HTMLファイル内:

<div class="centerBloc">
  I will be in the center
</div>

そしてCSSファイルで、私たちは書きます:

body .centerBloc {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

そのため、divはブラウザーの完全な中心になる可能性があります。


3
divのクラスは.centerBlocと呼ばれ、cssファイルはbody.loadingDivを表示します...
Martin

今すぐ修正@Martin
dtechplus

0

あなたは使うべきです

<div class="row fluid-img">
  <img class="col-lg-12 col-xs-12" src="src.png">
</div>

.fluid-img {
    margin: 60px auto;
}

@media( min-width: 768px ){
        .fluid-img {
            max-width: 768px;
        }
}
@media screen and (min-width: 768px) {
        .fluid-img {
            padding-left: 0;
            padding-right: 0;
        }
}

0

justify-content-centerコンテナ内の行にクラスを使用しています。Bootstrap 4で適切に動作します。

<div class="container-fluid">
  <div class="row justify-content-center">
   <img src="logo.png" />
  </div>
</div>


-3

前のソリューションのCSSを次のように変更できます。

.container, .row { text-align: center; }

これにより、親のすべての要素も中央に配置さdivれます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.