修复相对于父div的位置

时间:2013-03-02 00:31:29

标签: css position containers parent fixed

是否可以相对于父div而不是浏览器窗口修复元素的位置

说我有:

<div id="pagecontainer">

    <div id="linkspage">

        <div class="sidelinks">
            <a href="#page1" class="link">Link 1</a>
            <p>
            <a href="#page2" class="link">Link 2</a>
            <p>
            <a href="#page3" class="link">Link 3</a>
            <p>
            <a href="#page4" class="link">Link 4</a>
            <p>
        </div>

        <div class="linkscontent">
            content of links page
        </div>

    </div>

    //OTHER PAGES

</div>

基本上是一个包含两个部分的页面,左侧部分是链接列表,而右侧部分是页面的内容。我希望内容可以滚动,但链接保持固定到父#pagecontainer,这样当#pagecontainer滚动时它们不会滚动,但是当我滚动整个浏览器窗口时它们会移动。

我已经尝试过JQuery“fixto”插件:https://github.com/bbarakaci/fixto。但我不能使用那个,因为我的页面淡入/淡出,当父元素(#pagecontainer)的alpha为0时,脚本会出错,它认为父元素已经消失,无处可修复。

感谢。

2 个答案:

答案 0 :(得分:34)

给父母position: relative,如下所示:

.parent {
    position: relative;
}
.child {
    position: absolute;
    top: 0;
}

请参阅DEMO

答案 1 :(得分:1)

我为你创建了这个CodePen

根据你的描述,它就在那里。

  

但是当我滚动整个浏览器窗口时它们会移动。

您需要使用iframe或某种JavaScript解决方案。