是否可以在X轴上固定div,但在Y轴上滚动?

时间:2010-11-07 15:42:57

标签: jquery css xhtml scrollto

HTML

<div id="header">
    <ul id="nav">
       <li><a id="ho" href="#spread1-anchor">Home</a> /</li>
       <li><a id="bg" href="#spread2-anchor">Background</a> /</li>
       <li><a id="ap" href="#spread3-anchor">Approach</a> /</li>
       <li><a id="se" href="#spread9-anchor">Services</a> /</li>
       <li><a id="cl" href="#spread10-anchor">Clients</a> /</li>
       <li><a id="co" href="#spread11-anchor">Contact</a></li>
    </ul>
</div>

<div id="container">
<!-- Very wide horizontal scrolling content-->
</div>

CSS

#header {
width: 100%;
position: fixed;
top: 0;
left: 0;
}
#container {
width: 8000px;
height: 590px;
/*etc*/
}

使用上面的代码,我有一个非常宽的#container,使用ScrollTo.js水平滚动。并且控制它的#header处于固定位置,因为我不希望它与页面/容器的其余部分一起滚动。我的问题是,如果您垂直调整windonw的大小,容器会隐藏在#header下方,因为它处于固定位置。

#header可以水平固定,但仍然可以垂直滚动吗?使用jQuery还是CSS?

我的实例是:http://www.kargo2.com/Stackover/

感谢。

2 个答案:

答案 0 :(得分:2)

尝试这个相当简单的选项:

$(window).scroll(function(){
    $('#header').css({
        'top': $(this).scrollTop() + 15
    });
});

同时:

#header {
    top: 15px;
    left: 15px;
    position: absolute;
}

我在顶部和左侧添加了一个15px的偏移量,以向您展示如何进行偏移,但如果您希望在视图窗格的角落处紧固元素,则可以删除这些部分。

答案 1 :(得分:0)

只需将positionfixed更改为absolute并保持top: 0; left:0;