position:sticky笔记

position: sticky(粘性定位)

表现很奇特,具体有以下几点:(表现仅在谷歌77下测试)
1、父元素的overflow属性值只能为visible(默认值),否则表现为relative

2、作为子元素,它无法跑到父元素之外,这是第一要素;

3、在满足以上条件的情况下:相对于视口的距离尽量大于所设置的各个方向的值(各个方向值之间不冲突);而一旦触发这个规则,元素表现就像fixed元素一样固定住了,但仍占据父元素原本的空间,对兄弟元素的布局无影响;可以认为只影响了视觉效果

4、一旦sticky生效,则作为子元素position表现为static,作为父元素position表现为relative

5、根据上一点可知,sticky无BFC特性,该元素会和子元素有margin合并现象

6、父元素可以设置height属性固定值

7、使用时

123456
654321
.relative { position: relative; height: 300px; background-color: #409eff; /* overflow:hidden; 试验第一条*/ } .sticky { position: sticky; /* 可能需要浏览器前缀 */ height: 100px; background-color: #000; top: 20px; bottom:20px; } .sticky > div { /* 测试BFC */ margin: 10px 0; height: 10px; background-color: red; } .before, .after { height: 300px; background-color: #ececec; }

参考文档

1、position:sticky

你可能感兴趣的:(position:sticky笔记)