html - 使用位置 :fixed 时防止元素显示在页脚顶部

标签 html css

我想使用CSS属性position:fixed来固定元素的位置,但同时防止当用户滚动到页面底部时该元素位于我的页脚上方。有没有办法阻止元素以这种方式显示在页脚上?

最佳答案

如果您希望元素有时固定,但其他时候不固定,则需要使用 JavaScript 来添加/删除 position:fixed

首先设置不带 position:fixed 的元素,以便它出现在页脚上方的页面中,一旦滚动到底部,您希望它出现在该位置。

然后设置一个 css 类,当添加到元素时固定其位置,如下所示:

div#sometimesfixed.fixed
{
    position:fixed;
    bottom: 0px;
}

以下代码使用 jquery,检测页面上的滚动位置,并相应地添加/删除 fixed 类:

$(window).scroll(function (event) {
    var windowTop = $(this).scrollTop();        
    if (windowTop >= $("#footer").offset().top) {
        $("div#sometimesfixed").addClass("fixed");
    } else {
        $("div#sometimesfixed").removeClass("fixed");
    }
});

关于html - 使用位置 :fixed 时防止元素显示在页脚顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2805404/

相关文章:

html - 这是一个错误吗? P 元素的边距超出包含的 div

jquery - 如何获取距日期选择器中所选日期 15 天以上的日期?

javascript - 检查动态创建的数组中是否存在所选选项

html - body 标签表现不正常

php - 一个 PHP 表映射

html - 具有从阴影创建的边框的剪辑路径的边框半径

jquery - 使用 css 将纸张大小设置为 A5 在 google chrome 页面打印中不起作用

javascript - 当包含 ng-include 属性的元素本身使用 angularjs 中的 ng-include 属性添加时,嵌套 ng-include 不起作用

javascript - iframe 的背景图片

css - 在 .CSS 文件中创建一个变量以在该 .CSS 文件中使用