【发布时间】:2014-06-11 13:55:10
【问题描述】:
我可以将导航 div 设置为在滚动过去时固定,但是我需要扩展 jQuery 代码以将 CSS 元素添加到 body 以将其向下推 div 的高度以补偿当 div 被固定时发生的跳转。
我使用的 jQuery 代码是
var $window = $(window),
$stickyEl = $('nav#main'),
elTop = $stickyEl.offset().top;
$window.scroll(function() {
$stickyEl.toggleClass('sticky', $window.scrollTop() > elTop);
});
在应用 .sticky 类时,我需要在 body 标签中添加 40px 的 margin-top。
我可以制定一个 CSS 规则,将 margin-top:40px 设置为 body,但是当 .sticky 显示时?类似于子 css 元素 (>) 的对立面?
【问题讨论】:
-
为什么不对粘性元素设置填充?
-
填充会影响粘性 div,并增加它的大小。我想将整个页面内容向下推以补偿页面返回顶部的跳转(当粘性 div 固定时)