【问题标题】:Fixed sidebar pushed up by footer固定侧边栏被页脚向上推
【发布时间】:2014-09-01 06:54:41
【问题描述】:

我发现了很多关于固定侧边栏的问题。我的问题是,一旦页脚进入视口,侧边栏就不应该被修复。您可以在 Gather.Ly 或 Trek Factory Racing 页面上看到完全相同的行为。

我假设他们的解决方案只是保持侧边栏固定,而是按视口中可见的页脚像素数推动(顶部边距)。

我的布局

带有两个 div 的 100% 包装器。一种用于内容,另一种具有 100% 高度图像。在包装之后我有 100% 宽度的页脚。

我想我唯一可能的解决方案是 jquery?你能帮我写代码吗?我好像有点迷失了……

【问题讨论】:

  • 您需要向我们提供一些代码,以便我们为您提供帮助。在这里粘贴你的代码(你现在得到的),然后做一个小提琴。

标签: jquery html css


【解决方案1】:

您可以使用 JavaScrip 检查页脚是否在视口中(您可以看到的区域)。你可以在 Stack Overflow 上搜索如何做到这一点,或者使用 jQuery 和这个插件:http://www.appelsiini.net/projects/viewport

您的代码可能与此类似(如果您使用我提到的插件):

$(window).scroll(function()
{
   if ( $('.footer:in-viewport').exists() ) {
      $('.sidebar').css('position','static');
   }
});

if (jQuery){
    jQuery.fn.exists = function() {
        return this.length>0;
    };
}

希望这能回答你的问题!

【讨论】:

  • 非常感谢。这实际上奏效了。我通过切换类而不是直接更改 css 来更改您的脚本。就我的目的而言,它实际上是更优雅的解决方案,不需要对边距偏移进行硬计算。
  • 很高兴我能帮上忙! SO上的代码始终是一个建议,没有固定的解决方案(嗯,至少经常如此)。做任何你喜欢的事;)
猜你喜欢
  • 2018-05-23
  • 2023-03-16
  • 2021-06-19
  • 2014-05-16
  • 2013-02-21
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 2022-01-12
相关资源
最近更新 更多