2012-04-08 13 views
3

私のページにDIV要素があり、ウィンドウのサイズ変更時にサイズを変更したいが正方形の縦横比を維持します。幅をブラウザの幅の50%、高さを幅と同じにしたい。これどうやってするの?DIVのサイズを変更しますが、ウィンドウのサイズが変更されたときに縦横比を維持します

ソリューションにはJavascriptが必要ですが、jQueryを使用しないことをお勧めします。私はもちろん、あなたがCSSに1財産その他の財産に等しい(高さ)(幅)を作ることができるか分からない...よく、少なくともCSS 2.

しかし、あなた

答えて

1

はJavaScriptでこれを行うことができます。

<div id = "myDiv"></div> 
<script> 
    document.onresize = function() { 
     var element = document.getElementById('myDiv');  // the element 
     var size = Math.floor(window.innerWidth/2) + 'px'; // 50% window width 

     element.style.width = size; // set the width 
     element.style.height = size; // set the height 
    }; 
</script> 

window.innerWidth性がIEに存在しないことに注意してください。そこには、document.documentElement.clientWidthを使用する必要があります。

+0

感謝を持っているが、これは、私が唯一のオペラでこれをテストし、私は認めざる – Joey

+0

動作しません。デバッグに役立つ、どのブラウザを使用していますか? – Imp

+0

Opera以外のすべてのlol ...変数名の代わりに最後の2行でdiv名を参照したからだと思います。そうでなければそれは働いただろう – Joey

1

cssでウィンドウの幅を50%に設定できます。 50 CSSの%とリサイズのためのwindow.onresizeイベント: あなただけheight-

window.onresize=function(){ 
    var who= document.getElementById('divtoresize'); 
    who.style.height=who.offsetWidth+'px'; 
} 
関連する問題