欲しい要素があるwidth: 50%
。しかし、右のスクロールバーがあると、その 50% が以前とは異なって見え、(アニメーションによって) 特定の要素が表示されたり消えたりするため、スクロールバーも表示されたり消えたりして、要素の幅が動的に変化します。
ライブデモを見る
要素の幅をパーセンテージで設定し、垂直スクロールバーの有無に影響されないようにする方法はありますか?
欲しい要素があるwidth: 50%
。しかし、右のスクロールバーがあると、その 50% が以前とは異なって見え、(アニメーションによって) 特定の要素が表示されたり消えたりするため、スクロールバーも表示されたり消えたりして、要素の幅が動的に変化します。
ライブデモを見る
要素の幅をパーセンテージで設定し、垂直スクロールバーの有無に影響されないようにする方法はありますか?
クリック時にスクロールバーに対応するように幅を調整できますが、これが発生する可能性のある多くのことが発生する場合は、単に配置するのがおそらく最善です...
body {overflow-y: scroll;}
...そして、垂直スクロール バーを常に表示します。http://jsfiddle.net/htWrC/1/を参照
あなたはこのようなことをすることができます
div
の高さがの高さよりも高いかどうかを確認しwindow
ます。
もしそうなら、スクロールがあります。width
スクロールバーを考慮して、幅を少し広く設定します。
コード
$('button').click(function(){
$('p').toggle();
var a = $('#box');
if(a.height() > window.innerHeight){
$('#box').css('width', '51.7%');
}
else{
$('#box').css('width','50%');
}
});