これを行う方法はありますか?私は、スクロール可能でなければコンテンツが画面の下に来ることを望んでいません。 (これは、ほとんどのより小さな画面を有することができる人々のためである)絶対位置要素が画面の下になると、本文スクロールバーが表示されますか?
答えて
NB:レヴィPutna
<div>
が空の場合、この動作がのみ発生することpointing outに右です。
つのオプション:
- あなたが
min-height
とmin-width
<body>
を設定することができます。 <body>
には、ウィンドウのサイズが変更されたときにJavaScriptを使用してheight
を設定できます。
min-height
と
min-width
設定
:
例えば、絶対位置 300画素である場合:
body {
min-height: 400px;
min-width: 300px;
}
制限:
- Internet Explorer 6 はこれをサポートしていません、これを修正するのは簡単なハックですがこの時点で、
min-height
は実際にそこの他のすべてのブラウザで動作します。 - 動的にサイズを調整する方法はありません
<div>
、過補償によって予想されます。[0,0]に位置する絶対位置 400の画素を考える:
動的(ウィンドウのサイズが変更されている)var $win = $(window); $win.resize(function(){ var height = Math.max(400, $win.height()); var width = Math.max(300, $win.width()); $('body').css({ height: height, width: width }); });
height
設定
<div>
の寸法または位置が可変である場合:
var $win = $(window);
var $div = $('#thediv'); // the absolutely positioned div
$win.resize(function(){
var offset = $div.offset();
var height = $div.outerHeight() + offset.top;
var width = $div.outerWidth() + offset.left;
height = Math.max(height, $win.height());
width = Math.max(width, $win.width());
$('body').css({
height: height,
width: width
});
});
outerHeight
とouterWidth
を使用すると、パディングとボーダーが含まれます。あなたはjqueryのまたはネイティブのjavascriptのために単に<body onresize="myResize()" >
を使用している場合、代わりにCSS top
とleft
の(offset
を使用することにより、位置がないoffset parent。
私はラップトップに戻るときに。 (私はIE 6以前については心配していませんが、それより前にサポートしないことを選択しています。私のサイトではソケットioを多く使用しています。それ以上のサポートはありません。 –
あなたが満足すればJavaScriptを使用してこれを修正するには、ウィンドウのサイズを変更したときに 'body'高さを絶対に配置された' div'の高さに設定する必要があります。 – thirtydot
ウィンドウのサイズ変更を検出するにはどうすればいいですか? –
使用$(window).resize(function(){...});
に、文書に対して取られます。
私は、これはあなたが何をしているかであることを理解するものから:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div id="scroll-div" style="position:absolute; height:2000px;"></div>
</body>
</html>
をしてスクロールバーを取得するために期待?あなたがいくつかのコンテンツを追加するまで、ブラウザはdivまたは少なくともスクロールバーをレンダリングしません。
div(scroll-div)にコンテンツを追加するだけでスクロールバーが表示されます。
+1 OPの質問に対する答えです。私が盲目的にこれがdivの位置によって引き起こされたと仮定していたことを実現してくれてありがとう... :-) – PPvG
- 1. 絶対絶対位置 - スクロールバーが表示されない
- 2. チャット - 要素が最下位に達すると、絶対位置から相対位置への変更
- 3. 絶対要素を絶対位置に配置します。 IE
- 4. 黒い棒が位置:絶対に表示されます。
- 5. 絶対位置要素
- 6. Chromeで絶対位置が正しく表示されない
- 7. c#画面上の絶対位置コントロール
- 8. 異なる画面サイズで絶対位置が同じAndroid imageview
- 9. css、相対的な位置決め要素内の絶対位置決め要素が乱雑になる
- 10. 相対位置に絶対配置要素が含まれていません
- 11. 相対位置指定された要素内でページを絶対的に配置する位置要素
- 12. 絶対インライン要素の位置が異なる
- 13. 絶対位置の要素がスクロールボックスの外に隠されていない
- 14. 絶対位置に設定すると要素が消えますか?
- 15. 要素を絶対配置すると、要素がインラインでIEに表示される
- 16. 絶対位置要素は、透明な要素を非表示にする前にそれ
- 17. 水平スクロールバーの固定位置を表示画面の下端に設定
- 18. 位置の絶対要素をドキュメントフローに表示されるようにしますか?
- 19. 絶対位置DIVは、他の要素
- 20. iframe内の絶対位置要素は?
- 21. フレックスボックス要素の絶対位置
- 22. CSS - 絶対位置の要素があふれないようにする
- 23. %幅の要素で絶対位置が機能しない
- 24. 絶対要素が相対要素の上に置かれない
- 25. 要素が画面に表示されるときのベストプラクティス?
- 26. 絶対配置されたdivのスクロールバーを非表示
- 27. 位置が絶対配置された要素上の垂直スペース
- 28. 垂直スクロールバーの位置絶対
- 29. 位置絶対divのスクロールコンテナ上に表示されるCSS
- 30. 絶対配置された要素にマウスイベントがあります
水平または垂直(またはその両方)を意味しますか?問題を実証できますか? http://jsfiddle.net//http://jsbin.com/ – thirtydot
Vertical。ちょうど私が何を意味するかを見るために現在の画面の高さよりも高い高さの絶対配置されたdivを作ってください(私はこの時点で私のラップトップから離れているか、デモンストレーションします) –