非常感谢任何帮助。
以下是简化的代码段。我遇到的问题是“徽标”类的位置与我希望的完全相同,即相对于整个页面/窗口。因此,当我向下滚动页面时,“logo”元素在父元素内向下移动页面。
问题在于,尽管“logo”元素是“page”元素的子元素,但“logo”始终可见,即使在父母的界限之外,尽管将父母“溢出”设置为“隐藏”
如果有人知道如何纠正CSS的问题,这将是非常好的和首选。 jQuery(JavaScript)也是一个选项,虽然我更愿意避开这个,如果我可以,因为我非常清楚这个网站一旦完成就会非常重。
<style>
.page{
width:100%;
height:1000px;
overflow:hidden;
}
.logo{
position:fixed;
margin:20px;
}
</style>
<div class="page">
<div class="logo"></div>
<div>
<div class="page">
<div class="logo"></div>
<div>
答案 0 :(得分:2)
无法完成。取自here:
因为固定位置元素相对于视口是固定的,而不是另一个元素。因此,由于视口没有将其切断,溢出变得无关紧要。
根据要求,完全理论上可能的jQuery解决方案:
$(window).scroll(function(){
if($(this).scrollTop()>=1000){
$('#ItemToHide').hide();
} else {
$('#ItemToHide').show();
}
});
这是非常草率的,显然可以改进,但这样的事情可能有用。
答案 1 :(得分:1)
你可能想要绝对定位。绝对定位元素基于其父元素。所以标识绝对位置顶部:20px将它放置在页面元素顶部20像素。固定在20px的顶部,距离窗口顶部20px。但是,要使绝对定位起作用,您的页面元素将需要至少相对的位置。