gpt4 book ai didi

javascript - 页眉中的粘性 div 重叠页面内容

转载 作者:行者123 更新时间:2023-11-28 08:03:24 28 4
gpt4 key购买 nike

我有一个“粘性”div,它从绝对位置开始,然后在窗口开始滚动时切换到 fixed at top: 0(我正在使用它作为导航栏),但我也有“页内”链接。

我的问题是粘性内容与正文中的其他内容重叠,换句话说,顶部 200px(导航栏的大小)一开始就隐藏起来(在 sticky 导航栏下方)向下滚动。

这是 CSS 问题还是 JavaScript 问题?我该如何解决?

http://jsfiddle.net/b26g1ztu/

JavaScript:

function sticky_relocate() {
var window_top = $(window).scrollTop();
var div_top = $('#sticky-anchor').offset().top;
if (window_top > div_top) {
$('#sticky').addClass('stick');
} else {
$('#sticky').removeClass('stick');
}
}

$(function () {
$(window).scroll(sticky_relocate);
sticky_relocate();
});

HTML:

<!--navigation with logos-->
<div id="sticky-anchor"></div>
<div id=sticky>
<a href="#lccpost">
<img alt="lansing" src="https://pbs.twimg.com/profile_images/558329813782376448/H2cb-84q_reasonably_small.jpeg">
</a>
</div>
<!--Articles-->

<!--Nav pics-->
<section>
<div id=lcc1>
<a name="lccpost"><img alt="lansing" src="https://pbs.twimg.com/profile_images/558329813782376448/H2cb-84q_reasonably_small.jpeg"></a>
</div>
</section>
<!--titles-->
<section>
<div id=submissions><h2>Submissions</h2></div>
<!--single submissions-->
<div class=name>
<h3>John Doe</h3>
</div>
<div class=subs>
<a href="submissions/1.%20News%20Story/The%20Lookout_News%20Story_Shelby%20Schueller.pdf" target=_blank>
<img src="http://www.wolfson.org.uk/media/1187/pdf_icon.png" /></a>
</div>
<div class=judgesub>
<!--<a href="">
<img src="pictures/PDF_Logo.jpg" /></a>-->
</div>
<!---->
<div class=name>
<h3>Jane Doe</h3>
</div>
<div class=subs>
<a href="submissions/1.%20News%20Story/The%20Lookout_News%20Story_Sarah%20Spohn.pdf" target=_blank>
<img src="http://www.wolfson.org.uk/media/1187/pdf_icon.png" /></a>
</div>
<div class=judgesub>
<!--<a href="">
<img src="pictures/PDF_Logo.jpg" /></a>-->
</div>
<!---->
<div class=name>
<h3>Jason Doe</h3>
</div>
<div class=subs>
<a href="submissions/1.%20News%20Story/The%20Lookout_News%20Story_Jeremy%20Kohn.pdf" target=_blank>
<img src="http://www.wolfson.org.uk/media/1187/pdf_icon.png" /></a>
</div>
<div class=judgesub>
<!--<a href="">
<img src="pictures/PDF_Logo.jpg" /></a>-->
</div>

CSS:

body 
{
background-color: RGB(95,0,0);
}
#sticky
{
position:absolute;
top:150px;
background-color: RGB(65,0,0);
color:White;
border-style:solid;
border-color:RGB(255,215,0);
padding: 5px;
width: 500px;
height: 150px;
overflow: hidden;
overflow-y: scroll;
}

#sticky.stick {
position: fixed;
top: 0px;
bottom:auto;
z-index: 10000;
}

#lcc1
{
position:absolute;
top: 350px;
left: 20px;
}
#submissions
{
position:absolute;
top: 320px;
left: 240px;
color:White;
}

.name
{
position:relative;
top:400px;
left: 150px;
color:White;
}

.subs
{
display:inline-block;
position:relative;
top: 330px;
left: 270px;
border-style: dashed;
border-color:Red;
padding:5px;
}

最佳答案

我认为你的问题是有点 JS 和一点 CSS。

您正在使用 JS/JQuery 在两个 CSS 类之间切换,本质上是在绝对定位和固定定位之间切换。此外,您正在使用 top 在 JS 中做出决定,但是当您处于 absolutefixed 定位时,它们会评估不同的值。

最后,我建议您 (a) 坚持使用 fixed 定位并调整位置(顶部/左侧)onscroll 或 (b) 当您在 .stick 时 模式添加 padding-top:300pxbodymargin-top:300px on body section:first- child

关于javascript - 页眉中的粘性 div 重叠页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29618561/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com