我面临的问题是,在CSS网格中只允许一个区域具有粘性。
在代码中看起来如何:
.wrapper {
display: grid;
gap: 32;
grid-template-columns: 1fr 478px;
grid-template-areas:
'Images Details'
'Tabs Tabs';
}
.child1 {
grid-area: Images;
}
.child2 {
align-self: flex-start;
grid-area: Details;
position: sticky;
top: 0;
}
.child3 {
grid-area: Tabs;
}
因此,Images
部分比Details
大得多(更大的高度),我想实现的是在向下滚动时使Details
具有粘性,但一旦我到达Images
的底部,它应该停止向下移动。目前,区域Images
与Tabs
重叠,因为它对 Package 器来说是粘性的。
有办法解决吗?
演示https://stackblitz.com/edit/web-platform-a8znlr?file=styles.css
2条答案
按热度按时间8yparm6h1#
我想这会解决你的问题。
cnwbcb6i2#
你所要求的解决方案不能用纯css和html来实现,但是你可以用一些JavaScript来实现: