使用Javascript在工具栏小部件的页面底部创建一个空格

时间:2011-12-21 05:09:38

标签: javascript html css layout

我正在创建一个通过外部javascript文件加载的工具栏小部件。工具栏浮动在屏幕的底部,工作正常,但屏幕底部的内容被掩盖(如图A所示)。图B是我的目标。

工具栏应始终可见,固定在屏幕底部。如果在页面上需要滚动,则内容将在其下方流动,直到在滚动到底部时全部可见,这样就不会在任何长度的页面上覆盖任何内容。

Before and after examples

我的第一个想法是设置一个30px的底部边距(工具栏高度),但由于这个设计的大多数网站都设置为使用全屏(身高设置为100%),这不会总是工作。将body scrollHeight减少30px可以解决此问题,但仅限于页面上不需要滚动(有时是)。

JSFiddle示例:http://jsfiddle.net/ZbMDr/1/

2 个答案:

答案 0 :(得分:0)

这个例子适合你吗? http://limpid.nl/lab/css/fixed/footer

答案 1 :(得分:0)

所以这是我提出的一个有点hacky的解决方案,到目前为止似乎工作(我还没有进行过广泛的测试)。如果有人有更清洁的方法来实现这一点,那将会很有趣。

var bodyCH = document.body.clientHeight,
    bodySH = document.body.scrollHeight;

/* insert the toolbar here */

if (bodyCH === bodySH) {
    document.body.style.height = parseInt(bodySH, 10) - 30 + 'px';
} else {
    var spacer = document.createElement('div');
    spacer.style.height = '30px';
    document.body.appendChild(spacer);
}