画像を伸ばしずに画像を300x300 divに収める必要があります。私は、ハフポストにこのページのスライダーを、これを見てきました:画像をdiv内に伸ばしずに合わせる
http://www.huffingtonpost.com/2012/01/07/katy-perry-divorce_n_1191806.html
画像が切り取られているが、伸びません。 max-width、max-heightの代わりにmax-widthを使用します。
どうすればよいですか?
画像を伸ばしずに画像を300x300 divに収める必要があります。私は、ハフポストにこのページのスライダーを、これを見てきました:画像をdiv内に伸ばしずに合わせる
http://www.huffingtonpost.com/2012/01/07/katy-perry-divorce_n_1191806.html
画像が切り取られているが、伸びません。 max-width、max-heightの代わりにmax-widthを使用します。
どうすればよいですか?
あなたがリンクしているサイトの画像は実際のサイズなので、画像のサイズを変更するだけです。
イメージが300px幅または高さよりも小さくなった場合、画像を「伸ばす」ことなく実際に行うことはできませんが、比率を変更せずに行うことができます。
ここで基本的な考え方です:
<div><img></div>
は、あなたが最小幅(あなたがより大きくする必要が小さな画像を期待する)として300ピクセルを使用したい場合は、これを試してみてください。
div {
width:300px;
height:300px;
overflow:hidden;
}
div img {
min-width:100%;
}
イメージをクリップする場合(大きいと思われるので)、拡大しない場合は、これを試してください:
div {
width:300px;
height:300px;
overflow:hidden;
position:relative;
}
div img {
position:absolute;
}
デモ:http://jsfiddle.net/Z47JT/1/
したい場合は、これらの技術の両方を組み合わせます。
もう1つの方法は、代わりにbackground-image
をコンテナに使用することですが、完全にサポートされていないbackground-size
を使用しない限り、サイズを変更することはできません。それ以外の場合は、簡単に解決できます。
私はそれが私が必要とすると思う、私はそれを試してみましょう。 brb –
それはうまくいった、madmartigan –
優秀。サイトへようこそ!またね。 –
はここでフレックスボックスソリューションに
を使用
<div><img /></div>
が
div{
width:100%;
height:250px;
display:flex;
justify-content:center;
align-items:center;
overflow:hidden
}
div img{
flex-shrink:0;
-webkit-flex-shrink: 0;
max-width:70%;
max-height:90%;
}
上記のフレックスボックスソリューションはうまく機能しますが、イメージを拡大(拡大)することはありません。それは私が経験したことからイメージを縮めるように見えます。 –
はdiv要素の背景画像として設定したスタイルを追加し、htmlのでしょうか? – j08691
http://stackoverflow.com/a/41895887/1400943 ここではCSSのみの解決策です。 – efirat