固定位置,直到滚动
Fixed position until scrolled
我希望有人能帮我。
我试图修复页面底部的div,直到用户滚动它,然后它也会向上滚动。
您的问题中存在一些歧义,即您是希望div位于整个文档的底部,还是最初位于窗口的底部,然后滚动。
在文档底部
定位在文档底部(无论文档有多长(都很容易。只需在div上设置此CSS:
#yourDiv {
position: absolute;
bottom: 0;
}
这将把它放在文档的末尾。如果文档比窗口高度短,它将不在窗口底部,而是在文档的末尾。如果文档高于窗口高度,那么它在文档底部的位置最初将低于窗口底部,并且只有当文档向上滚动时才可见。
在窗口底部,然后在该位置滚动
如果你想让它最初出现在窗口的底部,但在页面滚动时在页面上的那个位置滚动,你不能用纯CSS来完成,但需要javascript来定位它。
在伪代码中:
wHeight = get height of window
oHeight = get height of your object that you want to place at the bottom
Then, set the position on your object using absolute position:
o.style.position = "absolute";
o.style.top = (wHeight - oHeight) + "px";
即使在滚动时,这也会将该对象从文档顶部保持在固定的像素数。
下面是一个使用jQuery的工作示例:http://jsfiddle.net/jfriend00/ZV2bM/
HTML:
<div id="footer">This is my footer</div>
CSS:
body {
background-color: #777;
height: 4000px;
padding: 0;
}
#footer {
position: absolute;
text-align: center;
background-color: #444;
width: 100%;
color: #FFF;
}
JS:
var pos = $(window).height() - $("#footer").height();
$("#footer").css({top: pos});
<div style="position:fixed; bottom:0px; right:10px;">
或者任何合适的属性。
该站点只是将div定位在底部并使其正常滚动。如果你想要,你可以使用:
<div style="position: absolute; bottom: 0px; left: 0px;"></div>
这样做的另一个优点是它适用于所有浏览器,而position: fixed
不适用于一些较旧的浏览器,如InternetExplorer6。
相关文章:
- 如何在定位导航后向下滚动页面
- 滚动定位时隐藏标题
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 当打开绝对定位下拉菜单时,页面将滚动到顶部
- 固定定位元素在滚动时停止在某个点
- JQuery定位:我可以滚动到正确的位置一次,但不能滚动两次
- jquery数据表滚动条定位
- Javascript修复了滚动定位
- 实现延迟在滚动上加载未知大小的图像并最佳定位的图像库
- (IE9)删除浮动或绝对定位的元素将导致同级元素的滚动条滚动回顶部
- JS滚动链接 - 使用linkify - 如何定位特定类
- 滚动到:定位导航栏中的特定按钮
- 水平滚动定位
- 滚动时引导弹出框未连接到按钮/定位错误
- 定位滚动条
- 如何防止父容器滚动定位为固定的子元素
- 定位链接滚动条从中间开始
- CSS-定位滚动分区
- Javascript滚动视差定位
- jQuery滚动定位不好