0

欲しい要素があるwidth: 50%。しかし、右のスクロールバーがあると、その 50% が以前とは異なって見え、(アニメーションによって) 特定の要素が表示されたり消えたりするため、スクロールバーも表示されたり消えたりして、要素の幅が動的に変化します。

ライブデモを見る

要素の幅をパーセンテージで設定し、垂直スクロールバーの有無に影響されないようにする方法はありますか?

4

2 に答える 2

3

クリック時にスクロールバーに対応するように幅を調整できますが、これが発生する可能性のある多くのことが発生する場合は、単に配置するのがおそらく最善です...

body {overflow-y: scroll;}

...そして、垂直スクロール バーを常に表示します。http://jsfiddle.net/htWrC/1/を参照

于 2011-12-08T03:59:10.363 に答える
0

あなたはこのようなことをすることができます

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%');    
    }              

});

例: http://jsfiddle.net/htWrC/2/

于 2011-12-08T04:02:29.360 に答える