1. ホーム
  2. html

[解決済み] CSS FlexBoxレイアウトで画像の自動リサイズとアスペクト比を維持する?

2022-08-08 06:38:33

質問

CSSのフレックスボックスレイアウトを使用したところ、以下のように表示されるようになりました。

画面が小さくなると、このようになります。

問題は、画像が元画像のアスペクト比を維持したままリサイズされないことです。

純粋なCSSとフレックスボックスレイアウトを使用して、画面が小さくなった場合に画像のサイズを変更できるようにすることは可能でしょうか?

以下は私のhtmlです。

<div class="content">
  <div class="row"> 
    <div class="cell">
      <img src="http://i.imgur.com/OUla6mK.jpg"/>
    </div>
    <div class="cell">
      <img src="http://i.imgur.com/M16WzMd.jpg"/>
    </div>
  </div>
</div>

私のCSSです。

.content {
    background-color: yellow;    
}

.row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;

    -webkit-box-orient: horizontal; 
    -moz-box-orient: horizontal;
    box-orient: horizontal;
    flex-direction: row;

    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    justify-content: center;

    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;  
    align-items: center;

    background-color: red;

}

.cell {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto; 

    padding: 10px;
    margin: 10px;

    background-color: green;
    border: 1px solid red;
    text-align: center;

}

どのように解決するのですか?

img {max-width:100%;} は一つの方法です。CSSのコードに追加するだけです。

http://jsfiddle.net/89dtxt6s/