高さがビューポートと同じになるまで、div
のサイズを比例して小さくする小さな関数を記述しました。これは完全に機能します。私は修正したい2つの問題がありますビューポートに比例して倍率を調整する
- これを行うクリーナーの方法はありますか?
- ビューポートの高さが低くなると、ビューポートを上げたときにスケールアップされません。
container
divがビューポートより高くなることはありません。これは、コンテンツが応答するのでcontainer
のwidth
を設定することによって制御する必要があります。デモンストレーションの目的で幅100%のシンプルな画像を使用しました。ブラウザのサポートが不足しているため、vh
またはvw
を使用していません。私はIE8をサポートする必要があります。アカウントにブラウザのサポートを撮る
function setImageViewPointHeight() {
// get current viewport height
var targetHeight = $(window).height();
// get current container height
var containerHeight = $('.container').height();
// get current container width
var containerWidth = $('.container').width();
// only set width if container is higher than viewport
if (containerHeight > targetHeight) {
// keep reducing container height/width value by 0.1% until target is reached
while (containerHeight > targetHeight) {
containerHeight = containerHeight - (containerHeight * .01);
containerWidth = containerWidth - (containerWidth * .01);
}
// now we have desired calculated width
$('.container').width(containerWidth + 'px');
}
}
ためpolyfillsを見つけることができますか? http://caniuse.com/#search=vw – lipp
@lipp可能であればIE8を保ちたい –