divに合わせるための画像サイズの調整(ブートストラップ)


96

特定のサイズのdivに収まるように画像を取得しようとしています。残念ながら、画像はそれに適合しておらず、代わりに、十分に大きくないサイズに比例して縮小しています。画像を画像の中に収めるにはどうすればよいかわかりません。

これで十分なコードがない場合は、追加で提供させていただきます。見落としているその他のエラーを修正することもできます。

ここにHTMLがあります

<div class="span3 top1">  
        <div class="row">
          <div class="span3 food1">
              <img src="images/food1.jpg" alt="">
          </div>
        </div>
            <div class="row">
              <div class="span3 name1">
                  heres the name
            </div>
            </div>
          <div class="row">
              <div class="span3 description1">
                  heres where i describe and say "read more"
            </div>
            </div>


      </div>

私のCSS

.top1{

    height:390px;
    background-color:#FFFFFF;
    margin-top:10px;


}

.food1{

background-color:#000000;
height:230px;


}

.name1{

background-color:#555555;
height:90px;

}

.description1{

background-color:#777777;
height:70px;


}

私はここに同様の質問に対する回答を掲載している:stackoverflow.com/questions/41870216/...
FredyWenger

回答:


56

画像のwidthand heightを明示的に定義することはできますが、結果は見栄えが良くない場合があります。

.food1 img {
    width:100%;
    height: 230px;
}

jsFiddle


...コメントごとに、ブロックすることもできますoverflow- この例を参照して、高さが制限されている画像を確認し、幅が広すぎるために切り取ってください。

.top1 {
    height:390px;
    background-color:#FFFFFF;
    margin-top:10px;
    overflow: hidden;
}

.top1 img {
    height:100%;
}

私はそれを検討しましたが、残念ながらあなたが言ったように、結果は最高ではありません。理想的には、画像の高さがdivの高さに合うように画像を縮小し、制約のdivの幅を超える画像の幅を非表示にします。それが意味をなす場合
smilefreak24

はい、それは私が探しているものです!どうもありがとうございます!
smilefreak24

他の答えが一番です。imgタグにclass = "img-sensitive"を追加するだけでうまくいきます。
iMobaio 2017

1
より良いからでwidth:100%;ありmax-width:100%;、より良い、すべてのそれらはクラスであるimg-responsiveBS3やimg-fluidBS4で。
Nabi KAZ

167

この方法を試してください:

<div class="container">
    <div class="col-md-4" style="padding-left: 0px;  padding-right: 0px;">
        <img src="images/food1.jpg" class="img-responsive">
    </div>
</div>

更新:

Bootstrap 4ではにimg-responsiveなるimg-fluidので、Bootstrap 4を使用するソリューションは次のとおりです。

<div class="container">
    <div class="col-md-4 px-0">
        <img src="images/food1.jpg" class="img-fluid">
    </div>
</div>

5
涼しい!class = "img-sensitive"が役立ちました。おそらく、これが今日受け入れられている答えになるはずです。
Anupam

1
class = "img-sensitive"は確実に進むべき道です!これは受け入れられる答えになるはずです。
iMobaio 2017

28
それはimg-fluid今ではありませんimg-responsive
言葉で言うと


32

クラスimg-responsiveimgタグに追加するだけで、ブートストラップ3以降で適用できます。


申し訳ありませんが、具体的に教えていただけませんか。質問が適切に届きません。ありがとうございます。
Shashi 2017

7

私も同じ問題を抱えていて、次の簡単な解決策を見つけました。画像に少しパディングを追加するだけで、div内に収まるようにサイズが変更されます。

<div class="col-sm-3">
  <img src="xxx.png" class="img-responsive" style="padding-top: 5px">
</div>

1
カスタムCSSではなくWITH Bootstrapで解決されました。ありがとうございました。
mattgreen 2016

7

私はこれを使って私のために働いています。

<div class="col-sm-3">
  <img src="xxx.png" style="width: auto; height: 195px;">
</div>

4

Bootstrap-4をお探しの方。ここにあります

<div class="row no-gutters">
    <div class="col-10">
        <img class="img-fluid" src="/resources/img1.jpg" alt="">
    </div>
</div>

テキストが含まれている別の列がある場合、これは境界線の端に
James Burke

2

ほとんどの場合、ブートストラッププロジェクトはjQueryを使用するため、jQueryを使用できます。

ただで親の幅と高さを取得JQuery.offsetHeight()してJQuery.offsetWidth()、として子要素にそれらを設定JQuery.width()してJQuery.height()

レスポンシブにする場合は、上記の手順をでも繰り返し$(window).resize(func)ます。

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