relative相对位置;
absolute绝对位置;
fixed屏幕位置;
通过left、top、bottom、right设置。
首先需要一个绝对定位的元素<div id="test" style="position:absolute">test</div>
实现的原理很简单,随页面滚动(Scroll)事件动态设置元素的css top值。
比如定位在页面顶端
$(window).scroll(function(){
$('#test').css('top', $(document).scrollTop())
})
定位在页面底端
$(window).scroll(function(){
$('#test').css('top', $(document).scrollTop() + $(window).height() - $('#test').height())
})
定位在其他位置可以根据具体情况+-top调整即可。
CSS中的position property一共有四种:
postion: static
postion: relative
position: fixed
position: absolute
如果设置div为static postion, div的位置将不受top,right,left,button等变量的影响,而是按照正常的页面布局进行排版。例:
div.static {
position: static
border: 3px solid #8AC007
}
如果设置div为relative position, 其变量的值将会使div的位置相对其正常(default)位置进行移动。例:
div.relative {
position: relative
left: 30px
border: 3px solid #8AC007
}
如果设置div为fixed position, div将会被固定在窗口的固定位置。也就是说无论你如何上下移动页面, div在屏幕上显示的位置始终不变。
div.fixed {
position: fixed
bottom: 0
right: 0
width: 300px
border: 3px solid #8AC007
}
如果设置div为absolute position, div将会相对于其最近的position ancestor定位。absolute position是可以随页面移动而移动在屏幕上的位置的。
div.absolute {
position: absolute
top: 80px
right: 0
width: 200px
height: 100px
border: 3px solid #8AC007
}
以上CSS你可以放到自己的网页应用里试一下,区别就很明显了。
参考资料:http://www.w3schools.com/css/css_positioning.asp