2017-12-12 9 views
2

現在、画像はflexコンテナ内の1行に収めています。画像には、それぞれの画像タグをdivで囲むか、min-width: 1%を画像に追加しない限り、画像がコンテナの幅を無視してページをオーバーフローすることに気付きました。divを使用せずにフレックスコンテナに画像タグが含まれていないか、または幅が設定されていません

HTML:

<div class="container"> 
    <img src="[url]"> 
    <img src="[url]"> 
    <img src="[url]"> 
</div> 

CSS、ページをオーバーフロー画像:

.container { 
    display: flex; 
    flex-direction: row; 
    height: 300px; 
    margin-bottom: 20px; 
} 

.container img { 
    flex: 1; 
    object-fit: cover; 
} 

オーバーフローの問題を修正:これは正常な動作ですか、私が持っている場合

.container img { 
    flex: 1; 
    min-width: 1%; /* width of images adjust to the parent container */ 
    object-fit: cover; 
} 

私は思っていましたこれを引き起こしているいくつかのCSS。

.container { 
 
    display: flex; 
 
    flex-direction: row; 
 
    height: 300px; 
 
    margin-bottom: 20px; 
 
} 
 

 
.container img { 
 
    flex: 1; 
 
    object-fit: cover; 
 
} 
 

 
.container.fix img { 
 
    flex: 1; 
 
    min-width: 1%; 
 
    object-fit: cover; 
 
}
<div class="container"> 
 
    <img src="https://cdn.pixabay.com/photo/2013/04/06/11/50/image-editing-101040_960_720.jpg" alt=""> 
 
    <img src="https://scontent.fmla3-1.fna.fbcdn.net/v/t1.0-9/12140762_1159067420823544_4471328164031495581_n.jpg?oh=e9255c0340cca64e7f51bb114bc25f9c&oe=5AC9097D" alt=""> 
 
    <img src="https://s3-us-west-1.amazonaws.com/powr/defaults/image-slider1.jpg" alt=""> 
 
</div> 
 

 
<div class="container fix"> 
 
    <img src="https://cdn.pixabay.com/photo/2013/04/06/11/50/image-editing-101040_960_720.jpg" alt=""> 
 
    <img src="https://scontent.fmla3-1.fna.fbcdn.net/v/t1.0-9/12140762_1159067420823544_4471328164031495581_n.jpg?oh=e9255c0340cca64e7f51bb114bc25f9c&oe=5AC9097D" alt=""> 
 
    <img src="https://s3-us-west-1.amazonaws.com/powr/defaults/image-slider1.jpg" alt=""> 
 
</div>

+1

関連? - https://stackoverflow.com/questions/37127384/why-isnt-object-fit-working-in-flexbox –

+1

@Michael_Bの説明はここで行うことができます。 – UncaughtTypeError

+2

フレックスアイテムの初期設定は 'min-width:auto'です。つまり、デフォルトでは、フレックスアイテムはコンテンツのサイズよりも小さくできません。画像はフレックスコンテナの子であり、フレックスアイテムになります。最小サイズは画像の自然な幅になり、この場合オーバーフローが発生します。デフォルト値を 'min-width:0'(または質問のように' min-width:1% ')で上書きすることができます。 https://jsfiddle.net/5wxg7nes/1/ @UncaughtTypeError –

答えて

-4

.container { 
 
    display: flex; 
 
    flex-direction: row; 
 
    height: 300px; 
 
    margin-bottom: 0px; 
 
} 
 

 
.container img { 
 
    flex: 2; 
 
    object-fit: cover; 
 
} 
 

 
.container.fix img { 
 
    flex: 2; 
 
    min-width: 1%; 
 
    object-fit: cover; 
 
}
<div class="container"> 
 
    <img src="https://cdn.pixabay.com/photo/2013/04/06/11/50/image-editing-101040_960_720.jpg" alt=""> 
 
    <img src="https://scontent.fmla3-1.fna.fbcdn.net/v/t1.0-9/12140762_1159067420823544_4471328164031495581_n.jpg?oh=e9255c0340cca64e7f51bb114bc25f9c&oe=5AC9097D" alt=""> 
 
    <img src="https://s3-us-west-1.amazonaws.com/powr/defaults/image-slider1.jpg" alt=""> 
 
</div> 
 

 
<div class="container fix"> 
 
    <img src="https://cdn.pixabay.com/photo/2013/04/06/11/50/image-editing-101040_960_720.jpg" alt=""> 
 
    <img src="https://scontent.fmla3-1.fna.fbcdn.net/v/t1.0-9/12140762_1159067420823544_4471328164031495581_n.jpg?oh=e9255c0340cca64e7f51bb114bc25f9c&oe=5AC9097D" alt=""> 
 
    <img src="https://s3-us-west-1.amazonaws.com/powr/defaults/image-slider1.jpg" alt=""> 
 
</div>

+1

私たちは、説明と文脈を提供する長い答えを探しています。コード解答を与えるだけではありません。 **あなたの答えが理にかなっている理由を理想的に説明してください。** –

+1

説明は常に助けます。問題の内容を理解しているとは思えません。フレックスを変更すると、1から2までは何も変わりません。 –

関連する問題