2016-10-27 5 views
1

私は、次のようなHTMLがあります。以下のCSSでフレックス項目に画像を自動サイズ変更

<div class="main-container"> 
    <h1>A title</h1> 
    <p>Some text</p> 
    <div class="sub-container"> 
     <img src=""> 
    </div> 
</div> 

.main-container{ 
    width: 100%; 
    height: 100%; 
    display: flex; 
    flex-direction: column; 
} 
.sub-container{ 
    flex-grow:2; 
    background-color: green; 
} 

を「私は上記のコンテナのサイズがわからないことに注意してくださいメインコンテナ "と呼ばれる。私はflexを使用しています。なぜなら、「メインコンテナ」内のdivを残りのスペースをすべて占有したいからです。

私が望むのは、両方の方向(高さと幅)で親のサイズに適合する「サブコンテナ」内に画像を持つことです。今、「サブコンテナ」にイメージを追加すると、オーバーフローして、まったくスケーリングされません。 私はフレックスが直接の子供(すなわち、 "サブコンテナ"ではなく内部のイメージ)でのみ動作することを知っています。私は「サブコンテナ」でもフレックスを使用しようとしましたが、満足できるものは得られませんでした。

あなたはこのクラスを使用することができます
+0

に.imgの流体を追加することを忘れないでください - [CSSの画像のサイズ変更](HTTP ://stackoverflow.com/questions/39289576/css-image-resize-issue/39289947#39289947) – kukkuz

+0

@kukkuzここでの問題は、「彼はフレックス成長を使用しているので、彼は幅と高さを知らなかった」 - C#m –

+0

@HermLunaコンテナが次元を動的に変更するかどうかは重要ではありません - イメージをどのようにフィットさせるか、オーバーフローをどのように処理するかです... OPでは 'obje ct-fit:contains'私はそう思います... – kukkuz

答えて

2

.img-fluid { 
    max-height:100%; 
    height:auto; 
} 

が、私はこれがここであなたを助けるだろうと確信しているあなたのimg

+0

これはうまくいかないようです。 – GuitarExtended

+0

https://jsfiddle.net/1s2wvyh4/ – Mattonit

+0

私が必要とするのは、両方向にスケールするものです。ソリューションは幅を処理しますが、画像がワイドよりも大きい場合はオーバーフローします。 – GuitarExtended

関連する問題