div 内で垂直方向に画像を中央に配置しようとしています。ここでスタックオーバーフローに関する他の同様の質問をいくつか読んだので、このソリューションを使用することにしました。
<div id="wrapper">
<div id="cell">
<img />
</div>
</div>
#wrapper {display:table;}
#cell {display:table-cell; vertical-align:middle;}
これは、ビューポート サイズより小さい画像に最適です。画像の高さがビューポートよりも大きい場合に問題が発生します。その場合、ラッパー div は単に画像の高さになります。そして、それはページをオーバーフローします。どうすればそれを回避できますか。
このラッパー div はビューポート div の一部です。ビューポート div は高さが固定で、幅が 100% の絶対位置に配置されています
#view-port{ height: 600px; width:100% }
編集:質問に関して混乱を引き起こしたと思います。私が何を意味するかを説明するために JSfiddle を作成しました
ここにリンクがあります:http://jsfiddle.net/sublime/fgTtj/
フィドルでわかるように、画像のサイズがありませんが、#outer div の高さが画像の高さよりも小さくなると、たとえば 200 で画像が切り取られます。代わりに、その画像を外側の div に合わせて縮小したい