2013-10-25 10 views
17

カルーセル画像を中央に(横に)表示したいのですが、これはデフォルトではありません。解決方法はthis topicです。ブートストラップのカルーセルを中央と応答性の両方にしますか?

ただし、このソリューションを使用すると、カルーセルのサイズが変更され、イメージよりも小さくなると、デフォルトでスケーリングの代わりにイメージが切り取られます。

どのように画像を中央に置いても、カルーセルアイテムに引き伸ばすことができますか?

答えて

33

異なるサイズの画像があるとします。このような何かをしようと、これが原因変数高みへ「ジャンプ」...それを解決するために作成されます

/*CSS*/ 
div.c-wrapper{ 
    width: 80%; /* for example */ 
    margin: auto; 
} 

.carousel-inner > .item > img, 
.carousel-inner > .item > a > img{ 
width: 100%; /* use this, or not */ 
margin: auto; 
} 

<!--html--> 
<div class="c-wrapper"> 
<div id="carousel-example-generic" class="carousel slide"> 
    <!-- Indicators --> 
    <ol class="carousel-indicators"> 
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> 
    <li data-target="#carousel-example-generic" data-slide-to="1"></li> 
    <li data-target="#carousel-example-generic" data-slide-to="2"></li> 
    </ol> 

    <!-- Wrapper for slides --> 
    <div class="carousel-inner"> 
    <div class="item active"> 
     <img src="http://placehold.it/600x400"> 
     <div class="carousel-caption"> 
     hello 
     </div> 
    </div> 
     <div class="item"> 
     <img src="http://placehold.it/500x400"> 
     <div class="carousel-caption"> 
     hello 
     </div> 
    </div> 
    <div class="item"> 
     <img src="http://placehold.it/700x400"> 
     <div class="carousel-caption"> 
     hello 
     </div> 
    </div> 
    </div> 

    <!-- Controls --> 
    <a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"> 
    <span class="icon-prev"></span> 
    </a> 
    <a class="right carousel-control" href="#carousel-example-generic" data-slide="next"> 
    <span class="icon-next"></span> 
    </a> 
</div> 
</div> 

私はこの自分自身をテストし、あなたが(適切常に中心に、画像の幅を)説明するように、それは動作します:Select the tallest image of a list

または、media-queryを使用して固定高さを設定します。

0

カルーセルの画像に幅を%で表示してみますか?

.item img { 
    width:100%; 
} 
+0

あなたが固定された高さを持っている場合、イメージは本体よりも大きくなりません。それで、イメージは縞模様になるでしょう。 –

3

この

.carousel .item img { 
    left: -9999px; /*important */ 
    right: -9999px; /*important */ 
    margin: 0 auto; /*important */ 
    max-width: none; /*important */ 
    min-width: 100%; 
    position: absolute; 
} 

を追加し、もちろん親のdivの一つが位置持っている必要があります:相対して、私はそれがデフォルトでないと考えています。

は、ここでそれを参照してください:http://paginacrestinului.ro/

3

は、CSSでmargin: 0 autoを適用し、カルーセルhtmlコードで各画像にクラスを追加します。 (ブートストラップ3上及び4)今

48

その単純:CMSを使用している間

.carousel-inner img { 
    margin: auto; 
} 
+6

2015年7月:シンプルさの点で受け入れられた答え(ブートストラップ3)に取って代わる素晴らしい答え。 –

+1

これはブートストラップ4でも動作します。 – Malchesador

+1

ありがとう@Malchesador、私は答えを更新しました。 – Olivier

1

はこれに非常によく似た問題を抱えていたが、それは上記の溶液を解決していませんでした。私はそれを解決するためにやったことは、適用CSSで次のように置かれた:

background-size: cover 

とブートストラップを使用している場合の配置の目的のために、私が使用:

background-position: center center /* or whatever position you wanted */ 
+0

これは本当に解決策ですか? –

0

私は内部<div class="carousel" id...>を配置しましたクラスコンテナ(<div class="container"><div class="carousel" id="my-carousel">...</div></div>)と別のdiv。それもそれを解決しました。

3
.carousel-inner > .item > img { 
    margin: 0 auto; 
} 

この簡単な解決策は、ブートストラップ3でこれを使用することにより、私

1

のために働い:ブートストラップV4で

#carousel-example-generic{ 
    margin:auto; 
} 
0

、私はセンターと使用して画面にカルーセルIMGを埋める

<img class="d-block mx-auto" max-width="100%" max-height="100%"> 

親要素の高さまたは幅を設定する必要があるかどうかを確認するには

html,body{height:100%;} 
.carousel,.carousel-item,.active{height:100%;} 
.carousel-inner{height:100%;} 
0

Boostrap 4では、カルーセル画像クラスにmx-autoを追加するだけです。

<div class="carousel-item"> 
    <img class="d-block mx-auto" src="http://placehold.it/600x400" /> 
</div> 

所望によりbootstrap carousel documentationからのサンプルと組み合わせる。

関連する問題