我想要垂直但不水平固定的 div 元素。目前,我正在使用 jQuery 来更新位置top
每次发生滚动时,但我不希望它看到移动。我希望它能固定不动。有没有办法做到这一点?
-----------------
| | |
| | |
| div A | div B |
| | |
| | |
| | |
-----------------
向下滚动
-----------------
| div A | |
| | |
| | div B |
| | |
| | |
| | |
-----------------
我希望能够保留Div B
垂直固定,同时Div A
向下和向上滚动。但是当我向右和向左滚动时,我想Div A
and Div B
移动。
我注意到 Twitter 使用了类似的东西。一旦你点击一条推文,右侧显示推文详细信息的元素就被真正修复了。我不知道他们是怎么做的。请参阅第二张图片,向下滚动时右侧面板保持固定。
第二张图片:
Twitter 使用 CSS 属性:position: fixed;
这肯定是最好的方法。
这正如它所说的那样,它固定了位置。通过使用top
, right
, bottom
and left
属性你可以设置你的div的确切位置。
2011 年 12 月 13 日编辑(很棒的约会!)
该物业position: fixed;
不能仅影响一个轴上的定位属性。这意味着您无法按照自己的意愿向左或向右滚动。
我强烈建议您应该避免超过屏幕宽度,使用元素宽度的百分比。你也可以只使用你的 javascript。
不过,您可以采用我最初建议的方法,但使用滚动事件侦听器更改 left 属性,以便当您滚动时,左侧偏移量会增加或减少。因为 jQuery 的跨浏览器支持很糟糕,所以我会选择 jQuery。我认为您几乎可以对原型库执行相同的操作,但我对该库不熟悉。
jQuery(在谷歌浏览器中工作):
var offset = 400; // left offset of the fixed div (without scrolling)
$(document).scroll(function(e) {
// b is the fixed div
$('.b').css({
'left': offset - $(document).scrollLeft()
});
});
看看现场演示 http://jsfiddle.net/etPfV/4/
您可能需要更改document
对象到您选择的另一个对象或选择器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)