境界ボックスは約 1000x600 で、500x100 の画像もあれば、400x100 の画像もあります (極端な例)。ここで、バウンディング ボックスが処理できる最大サイズまで両方を拡大縮小したいと思いますが、拡大縮小は維持します。
img {
width: 100%;
height: 100%;
}
画像の縮尺を維持しません。
幅のみまたは高さのみを 100% に設定できます。例えば
img {
width: 100%;
}
また
img {
height: 100%;
}
これにより画像の縮尺は維持されますが、画像がコンテナーからはみ出す可能性があります。
これはすべてのブラウザーで機能するとは限りませんが、Firefox、Chrome、Opera の最新バージョンでは機能します。私は過去にこれについて奇妙な経験をしたことがあり、私の解決策はサーバー上の新しい画像サイズを計算することでした.
このスレッド (ビューの幅を変更し、CSS で画像の縦横比を維持する) と List Apart の記事 ( http://alistapart.com/article/fluid-images ) を読み、すべてをまとめるまで、これに苦労していました。
あなたのマークアップがこのような場合...
<img src="myImg.jpg" />
...次に、単に述べる
img {
width:100%
}
最新のブラウザのほとんどは、選択肢が与えられたほとんどの人が画像の外観を変更したくないことを認識しているため、これで十分なはずです。ただし、マークアップに次のようなディメンション属性が含まれている場合...
<img src="myImg.jpg" width="400" height="400" />
...これはより良いテクニックであることを意図しており、マークアップはCSSを通過して、画像を固定の高さで柔軟な幅に保ちます(うーん!)...
img {
width:100%;
height:inherit;
}
...また...
img {
width:100%;
height:auto;
}
どちらも機能しているようで、画像を正しいアスペクトに戻します。
私は自分自身でこの問題に出くわしました (私の WYSIWIG エディターはデフォルトで画像に薄暗い色を追加します - 簡単な解決策が必要であるか、この動作を停止するために JCE をハッキングするのに何時間も費やす必要がありました)、まだ徹底的にテストしていませんが、あなたが私と同じ問題を抱えているなら、あなたは良い出発点です.
幅または高さのみを設定しても常に機能するとは限らないため、代わりに次のように設定できます。
img {
max-width: 100%;
max-height: 100%;
}
しかし
元のサイズを超えて画像を拡張することはありません
このA List Apart の記事が大いに役立つと思います。アスペクト比を維持しながらコンテナーに適応するレスポンシブ イメージについて説明しています。
基本的に、 を格納し、<img>
そのコンテナの寸法を に適用max-width:100%
するよりも指定するだけで、<img>
適応します。義務的な IE の考慮事項については、記事の残りの部分をお読みください (ありがたいことに IE7+ ではサポートされています)。
そんなことはできません。width
画像要素とheight
属性を編集できます...
<!-- keeps width-height ratio -->
<img src="smiley.gif" alt="Smiley face" height="50" />
<!-- keeps width-height ratio -->
<img src="smiley.gif" alt="Smiley face" width="50" />
<!-- does not keep width-height ratio, unless your image is square -->
<img src="smiley.gif" alt="Smiley face" height="50" width="50" />
width
とheight
をピクセルまたはパーセントに設定できます。px
ピクセルを使用する場合は記述する必要はありませんが、%
パーセンテージを使用する場合は記述する必要があることに注意してください。だからあなたは次のようなことができます...
<img src="smiley.gif" alt="Smiley face" height="100%" width="100%" />
...しかし、それは親要素の幅と高さの 100% になります。そのため、親要素とそのサイズを把握しておいてください。