ページの右側にサイドバーDIVが浮いています。サイドバーのCSS純粋なCSSでこれを行うにはどうすればいいですか?
#sidebar {
position: fixed;
right: 0;
top: 22px;
border: 3px solid #73AD21;
max-width: 300px;
overflow:scroll;
}
私は現在のウィンドウサイズを変更したりズーム(の検出に呼び出された
function handleResize() {
var sbw = document.getElementById('sidebar').offsetWidth;
var ww = document.documentElement.clientWidth || document.body.clientWidth;
var bodyWidthVal = 1000;
$("body").css('width', Math.min(bodyWidthVal,(-9 + ww - sbw)));
}
javascript関数を使用して、サイドバーと重なってからの私のページの本体でコンテンツを防止しています後者はマウスホイールイベントを介して捕捉された)。私が使用しているウェブブラウザ(IE 11)とサイドバーのオフセットの幅がサイドバーの周りの枠線の幅をキャプチャしていないように見えるので、マジックナンバー '-9'も何とか必要です。
これは機能しています。純粋なCSSで達成できるのであれば、むしろこのklugyソリューションを取り除くことになります。
:
は、コード内のコメントを参照してください。静的ユニットを使用する作業は、特定のビューポートでのみ有効です。また、CSSでは 'width'と' height'プロパティはコンテンツ領域のサイズにしか関係しません。パディング、ボーダー、マージンはそれ以上の大きさの別々のサイズです。 –
@ScottMarcus私はあなたのアドバイスを理解していません。私は自分のサイドバーを右側に浮かべていると思った。 – ControlAltDel
いいえ、固定静的値で右に手動で配置していました。 –