0

我在滚动position: absoluteposition:fixed滚动之间交替使用 div,您可以在此处查看我的损坏代码(JSfiddle):http: //jsfiddle.net/g9NVj/2/

有问题的区域是滚动时会改变颜色的粉色和蓝色框。正确的宽度和位置(以及我想要的结果)是粉红色的盒子,蓝色的盒子坏了。蓝色框 ( .fix) 变为position:fixed并似乎紧贴窗口的最左侧,并获得不同的宽度(在菜单侧边栏后面),而不是使用其父级。

我尝试添加 position:relative 到父级,但它不能解决问题。

这是小提琴关键区域的片段,但请查看 JSFiddle 以获取完整代码:

.content {
    width: 100%;
    overflow: hidden;
    position: relative;
    border-bottom: 1px solid #CCD5D5;
}

.c-2 {
    width: 50%;
    min-height:1px;
    float:left;
    overflow: hidden;
    /*position: relative;  TRIED THIS BUT DOESN"T WORK */
}

.c-2.last {
    padding: 80px;
}

.sticky {
    z-index: -1;
    background: #e4f;
}

.fix {
    position:fixed;
    width:50%;
    top: 0;
    left: 0;
    background: #34e;
}

.abs {
    position:absolute;
    bottom:0;
    width:50%;
    left:0;
    background: #e4f;
}
4

1 回答 1

1

那是因为position:fixed是相对于浏览器窗口的,所以添加position:relative到父div级对你没有帮助。如果你想要.fix div相对于 parent div,你应该给它 aposition:absolute和 parent diva position:relative

于 2013-11-04T11:05:17.153 回答