【发布时间】:2019-09-05 09:49:01
【问题描述】:
- 在第一张图片上,当滚动到达父元素时,粘性元素会粘在屏幕底部(如预期的那样)
- 在第二张图片上,当滚动将粘性元素居中时,它不会粘在任何地方
- 在第三张图片上,当滚动进一步时,粘性元素会粘在屏幕顶部(如预期的那样)
这是我的问题:
- 据我所知,当粘性元素到达其在视口上的位置时,粘性位置会切换到“位置:固定”
- 第二张图肯定不是这样,因为粘性元素既不粘在屏幕的顶部也不粘在屏幕的底部
- 为什么粘性元素在第二张图片上所做的正是如此?
.parentSticky {
width: 50%;
height: 800px;
border: solid black 5px;
display: flex;
flex-direction: column;
align-items: center;
margin: auto;
}
.siblingSticky {
width: 100%;
height: 100px;
background-color: orange;
border: solid 10px red;
display: inline-block;
flex: 50 0 1px;
box-sizing: border-box;
}
.Istick {
flex-grow: 1;
border: solid 10px green;
box-sizing: border-box;
position: sticky;
bottom: 10px;
top: 10px;
}
<!-- break tags illustrate the page's other contents (scrolling demo) -->
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div class="parentSticky">
<div class="siblingSticky"> Element </div>
<div class="siblingSticky Istick" > "Sticky" element </div>
<div class="siblingSticky"> Element </div>
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
【问题讨论】:
标签: css css-position sticky