无论如何,如果绝对位置元素位于屏幕下方,则使正文滚动条出现
Anyway to make body scrollbar appear if absolute position element goes below screen?
有什么办法可以做到这一点吗?我不希望内容在没有可滚动的情况下进入屏幕下方。(这适用于屏幕可能比大多数人小的人(
据
我了解,这就是你正在做的事情:
<!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(,您将获得滚动条。
注意:Levi Putna正确地指出,这种行为只有在
<div>
为空时才会发生。
两个选项:
- 您可以设置
min-height
并min-width
<body>
。 - 您可以在调整窗口大小时使用 JavaScript 在
<body>
上设置height
。
设置min-height
和min-width
:
例如,如果绝对定位的<div>
为 400 × 300 像素:
body {
min-height: 400px;
min-width: 300px;
}
局限性:
- Internet Explorer 6缺乏对此的支持,尽管有简单的黑客可以解决这个问题。在这一点上,
min-height
几乎可以在所有其他浏览器中工作。 - 没有办法容纳动态大小的
<div>
,期望通过过度补偿。
动态设置height
(调整窗口大小时(:
给定 400 × 300 像素的绝对定位<div>
,定位为 [0,0]:
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
});
});
或者,如果<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
,包括填充和边框。通过使用offset
(而不是 CSS top
和 left
(,位置是相对于文档而不是偏移父级获取的。
如果您使用的是jquery,请使用$(window).resize(function(){...});
,或者只是为本机javascript <body onresize="myResize()" >
。
相关文章:
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 禁用(而不是隐藏)浏览器滚动条
- 在firefox和chrome中的左侧显示iframe滚动条
- jquery:将动画绑定到滚动条位置的更好方法
- 在窗口中添加滚动条
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 使用没有插件的javascript自定义滚动条
- CodeMirror.禁用垂直滚动条
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 可以'无法使滚动条正常工作
- 强制滚动条覆盖页面内容
- 检测垂直滚动和滚动条宽度,并将宽度更改应用于正文
- 谷歌MDL瀑布标题在正文右侧的滚动和滚动条上不缩小
- 隐藏滚动条会导致正文向上滚动
- 溢出隐藏添加在删除滚动条的正文标签中
- 没有固定宽度的正文垂直滚动条
- jQuery:如何在不显示滚动条的情况下滚动正文
- JS-jQuery-Tw引导-阻止用户滚动正文,但显示滚动条
- 无论如何,如果绝对位置元素位于屏幕下方,则使正文滚动条出现
- 为什么不是't表格'的正文滚动条在InternetExplorer11上工作