7 个回答

stickUp
http://www.bootcss.com/p/stickup/


其实我也自己写过:

    ***    需要引入jQuery    ***

    $(document).scroll(function (){

        //固定SideBar
        if ($(document).scrollTop() > '180') {
            $('#sidebar').offset({top:$(document).scrollTop()+10});
        }else if($(document).scrollTop() <= '180') {
            $('#sidebar').offset({top:191});
        };

    });

监听scroll事件,判断与浏览器顶部的距离,加以操作。代码中的三个数字请自行确定,也可能不需要。

css有个探索性的新属性也是同样效果
position:sticky;

对,sticky,类似fixed和absolute的结合体,比如腾讯的移动网站就是用的这种效果

这种效果叫 sticky,这种动作叫 pin。 可以用更新 top 的方式来实现,也可以用改变 position 为 fixed 的方式来实现。fixed 的方法在 chrome 里面可能会出现元素短暂消失的情况,可能要给元素加一个 css 属性:-webkit-transform: rotateZ(0); 强制浏览器使用硬件加速,来解决这个问题。

这个是定位,用positionfixed属性可以实现。
一个固定定位(position属性的值为fixed)元素会相对于视窗来定位,这意味着即便页面滚动,它还是会停留在相同的位置。和 relative 一样, toprightbottomleft 属性都可用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题