首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >页眉分区位置固定在页面顶部,但在加载时显示页面顶部的Div。

页眉分区位置固定在页面顶部,但在加载时显示页面顶部的Div。
EN

Stack Overflow用户
提问于 2014-08-22 13:39:35
回答 2查看 2.5K关注 0票数 1

我一直在努力找出正确的方法。三个Div,顶部的广告分区,下方的标题分区,以及最下面的内容分区。在pg加载时,我打算让广告div显示,但滚动时,我打算将标题div保持在固定位置,top:0px,即位于页面顶部的内容上方。

请注意使用CSS中固定的位置,但是他们使用的方式与这个属性相矛盾,因为我需要标题div进一步向上移动,直到页面顶部在滚动页上,并保持位置固定在那里。

我还意识到将所有三个div放在一起的可能性,在滚动时,使用jquery,我将隐藏副词div,而标题div自然会向上移动到顶部,并保持其位置固定属性。

有什么建议吗?这里的JS Fiddle链接是一个快速的例子

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-22 13:53:45

这是代码

代码语言:javascript
运行
复制
$(document).ready(function () {
    var top_fixed;
    if ($('#header-con').length > 0)
    {
        top_fixed = $('#header-con').offset().top;
    }
    $(window).scroll(function () {
        if ($('#header-con').length > 0)
        {
            $('#header-con').toggleClass('fixed', $(window).scrollTop() > top_fixed);
        }
    });
});

演示

更清晰的CSS

代码语言:javascript
运行
复制
*{
    margin:0;
    padding:0;
}

#advert-con { color:yellow;height:130px;background:blue;width:100%;margin:0px;padding:0px;display:block; }
#header-con { height:170px;background:black;color:#fff!important;margin:0px;padding:0px; }
#content-con { height:700px;background:purple; }

.fixed {
    position: fixed;
    top: 0;
    width:100%;
}

更新演示

制作#advert-con fixed

代码语言:javascript
运行
复制
.container{
    margin-top:130px;
    display:inline-block;
    width:100%;
}
.container:after{
    display:block;
    clear:both;
    content:"";
}

最终演示

票数 0
EN

Stack Overflow用户

发布于 2014-08-22 13:52:28

您可以这样做(用您的例子):

HTML:

代码语言:javascript
运行
复制
<div id="advert-con">
<h3>
    <br />
    <br />
    ADVERT DIV MUST BE OVERLAYED WITH BLACK DIV UPON SCROLLING </h3>
</div>
<!--end advert-con-->
<div id="header-con">
    <h2>
        <br />
        <br />
        HEADER DIV MUST REMAIN VISIBLE ON TOP</h2>
</div>
<!--end header-con-->
<div id="content-con">
    <h4>Content Words Text Context</h4>
</div>
<!--end content-con-->

Jquery:

代码语言:javascript
运行
复制
$(document).ready(function () {
   var header = $('#header-con');
   var distanceFromTop;
   if (header.length > 0)
   {
       distanceFromTop = header.offset().top;
   }
   $(window).scroll(function () {
       if (header.length > 0)
       {
           header.toggleClass('sticky-top', $(window).scrollTop() > distanceFromTop);
       }
   });
});

CSS:

代码语言:javascript
运行
复制
.sticky-top {
    position: fixed;
    top: 0;
    width:100%;
}

希望有帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25448418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档