Css 如何使元素相对于其父元素而不是整个屏幕具有固定位置?

Css 如何使元素相对于其父元素而不是整个屏幕具有固定位置?,css,Css,我遇到这样的情况:当用户向下滚动时,边栏的一部分得到固定位置,然而当我捕捉到该位置并将固定css应用到边栏元素时,它会固定到整个屏幕,而不仅仅是父屏幕(即边栏) 如何正确设置此项?使父项的位置为相对的,然后其子项将使用该位置作为其绝对定位的参考。有关详细信息,请参阅中的 关于fixedpositioning:如何能够固定任何东西(这意味着固定到视口),但仍然与其他元素相关,而这些元素又不固定到视口?这对我来说似乎是一个矛盾,这也是我第一次误解你的问题的原因。首先理解定位: 固定定位或[定位:固定

我遇到这样的情况:当用户向下滚动时,边栏的一部分得到固定位置,然而当我捕捉到该位置并将固定css应用到边栏元素时,它会固定到整个屏幕,而不仅仅是父屏幕(即边栏)


如何正确设置此项?

使父项的
位置为相对的
,然后其子项将使用该位置作为其
绝对定位的参考。有关详细信息,请参阅中的


关于
fixed
positioning:如何能够固定任何东西(这意味着固定到视口),但仍然与其他元素相关,而这些元素又不固定到视口?这对我来说似乎是一个矛盾,这也是我第一次误解你的问题的原因。

首先理解定位:

固定定位或[定位:固定]

具有固定位置的图元相对于浏览器窗口进行定位

相对定位或[位置:相对]

相对定位的图元相对于其正常位置进行定位

绝对定位或[位置:绝对]

绝对位置元素相对于第一个父元素定位,该父元素的位置不是静态的

因此,在您的情况下,您的父母
div
应该有
位置:相对的
,您的孩子
div
应该有
位置:绝对的
而不是
位置:固定的


正是阅读您的问题所需要的

,我假设您有这样的问题:

 <div class="sidebar">
    <div class="fixed" style="position: fixed;"></div>
 </div>
CSS:


在这把小提琴中看到它的动作:

一个固定位置的元素相对于浏览器窗口定位。
@Ahmed Fouad:你能分享你的代码吗?但是位置:绝对没有帮助,因为我想在屏幕顶部显示元素,但仍然在包装宽度内。。(例如1000px)据我所知,这只适用于
绝对值
,而不适用于
固定值
<div class="sidebar">

    <div class="helper">
        <div class="fixed"></div>
    </div>

 </div>
​.sidebar {
    position: relative;
}

.helper {
    position: absolute;
    top: XYZ; left: ZYX; /*where XYZ and ZYX would
                           be the values you were 
                           trying before to give to .fixed*/
}

.fixed {
    position: fixed;
}