Pin元素像位置:固定但在其父项内部,而不是视口 [英] Pin element like position: fixed but inside its parent not the viewport
本文介绍了Pin元素像位置:固定但在其父项内部,而不是视口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我环顾四周,看起来像是一个不行,但我只是为了以防万一。
是否可以创建一个紧跟你的粘性边栏在页面中,但它保留在它的容器元素中?
HTML可能类似于:
<身体GT;
< header>
很多随机内容...
< / header>
< div id =parent>
< div id =sidebar><! - 当您滚动浏览标题内容时,边栏应继续滚动而停留在页面的顶部,但不应出现在顶部标题内容。 - >
< / div
< / div>
< / body>
我希望这张照片能让我更清楚自己想要的东西。到目前为止,我一直是一个糟糕的沟通者。
感谢您!
解决方案
是否有可能创建一个粘贴侧栏,
页面,但它保留在它的容器元素内部[只使用HTML / CSS]?
像这样:
http://codepen.io/jamesdarren/full/ivmcH
...但没有JavaScript。
答案是:目前,它取决于您的浏览器。
CSS的实验定位值名为 sticky
。 b 通过设置您的边栏到位置:sticky
它可以在其父容器和视口内保持固定,而不仅仅是视口。
以下是 Google Developers 描述了它:
位置:sticky
是一种定位元素的新方法,在
的概念上类似于position:fixed
。不同之处在于,带有position:sticky
的
元素的行为类似于position:relative
直到在
视口中满足给定的偏移阈值。
以下是 MDN 的要求:
粘滞定位是相对和固定定位的混合体。
元素被视为相对定位,直到它超过指定的
阈值,此时它被视为固定定位。
然而,目前只有 Firefox和Safari支持粘滞定位。
以下是两个演示:位置:sticky
(仅限FF和Safari):
http://html5-demos.appspot.com/static/css/sticky.html