100 * 300px div内に240 * 240pxの画像があります(デモ値、実際の値は異なり、不明です)。私はobject-fit: contain
を使って画像をdiv内で完全に見えるようにし、アスペクト比も保持します。問題は、object-fit
が画像の幅を変更していないことです。その結果、奇妙な「パディング」が発生します。オブジェクトフィットが幅や高さに影響するのはなぜですか?
どのように私は必要に応じて、画像ではなく、元の幅を取るの、唯一の同じくらいの幅を取ることができますか? object-fit
プロパティは、通常width
と連携http://codepen.io/alexandernst/pen/ONvqzN
.wrapper {
height: 100px;
width: 300px;
border: 1px solid black;
}
.flex {
display: flex;
}
img {
object-fit: contain;
}
<div class="flex wrapper">
<img src="https://unsplash.it/240/240" />
</div>
「幅を変更していませんか?幅をアスペクト比の範囲内に保ちながら、画像を100ピクセルの高さに縮小しました。 100x100にリサイズした後、140px(70px * 2)が残っているため、パディングは各側で正確に70pxです。 – theblindprophet
@blindprophet私は、 'img'がとる総幅が可視イメージ以上であることを意味します。私がしたいのは、元の画像の幅(240px)の代わりに 'img'要素を実際の画像(この場合は100px幅)と同じ幅にすることです。 – alexandernst
ああ、それは左にスライドし、(例えば)あなたは 'div'の残りの部分に他の要素のためのスペースを持つことができましたか? – theblindprophet