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