粘性溢出-自动去除间隙
Sticky with overflow-auto remove gap
我有此内容 overflow-auto
并在顶部和底部的 sticky
内。我希望粘性元素成为内容本身的一部分,并且没有额外的 space.
因为这是一个简单的示例,您可以使用使用 red
定义 background-color
的变通方法,但我不想那样,它不能应用于我的复杂情况。
问题:
理想
.container {
height: 200px;
width: 200px;
overflow: auto;
}
.content {
height: 400px;
width: 400px;
background: red;
}
.stickie-top {
position: -webkit-sticky;
position: sticky;
left: 0;
top: 0;
}
.stickie-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
left: 0;
}
<div class="container">
<div class="stickie-top">Sticky top</div>
<div class="content">Lorem ipsum ...</div>
<div class="stickie-bottom">Sticky bottom</div>
</div>
你可以看到这个例子:jsfiddle
使它们的高度等于 0。对于底部粘性,您将需要额外的 CSS 来纠正对齐方式
.container {
height: 200px;
width: 200px;
overflow: auto;
}
.content {
height: 400px;
width: 400px;
background: red;
}
.stickie-top {
position: sticky;
left: 0;
top: 0;
height:0;
}
.stickie-bottom {
position: sticky;
bottom: 0;
left: 0;
height:0;
display:flex;
align-items:flex-end;
}
<div class="container">
<div class="stickie-top">Sticky top</div>
<div class="content">Lorem ipsum ...</div>
<div class="stickie-bottom">Sticky bottom</div>
</div>
试试下面的代码。这将有助于解决您的问题。
body{
margin: 0;
}
.container {
height: 200px;
width: 200px;
overflow: auto;
background: red;
}
.content {
height: 400px;
width: 400px;
}
.stickie-top {
position: fixed;
left: 0;
top: 0;
}
.stickie-bottom {
position: sticky;
bottom: 0;
left: 0;
}
<div class="container">
<div class="stickie-top">Sticky top</div>
<div class="content">Lorem ipsum ...</div>
<div class="stickie-bottom">Sticky bottom</div>
</div>
我有此内容 overflow-auto
并在顶部和底部的 sticky
内。我希望粘性元素成为内容本身的一部分,并且没有额外的 space.
因为这是一个简单的示例,您可以使用使用 red
定义 background-color
的变通方法,但我不想那样,它不能应用于我的复杂情况。
问题:
理想
.container {
height: 200px;
width: 200px;
overflow: auto;
}
.content {
height: 400px;
width: 400px;
background: red;
}
.stickie-top {
position: -webkit-sticky;
position: sticky;
left: 0;
top: 0;
}
.stickie-bottom {
position: -webkit-sticky;
position: sticky;
bottom: 0;
left: 0;
}
<div class="container">
<div class="stickie-top">Sticky top</div>
<div class="content">Lorem ipsum ...</div>
<div class="stickie-bottom">Sticky bottom</div>
</div>
你可以看到这个例子:jsfiddle
使它们的高度等于 0。对于底部粘性,您将需要额外的 CSS 来纠正对齐方式
.container {
height: 200px;
width: 200px;
overflow: auto;
}
.content {
height: 400px;
width: 400px;
background: red;
}
.stickie-top {
position: sticky;
left: 0;
top: 0;
height:0;
}
.stickie-bottom {
position: sticky;
bottom: 0;
left: 0;
height:0;
display:flex;
align-items:flex-end;
}
<div class="container">
<div class="stickie-top">Sticky top</div>
<div class="content">Lorem ipsum ...</div>
<div class="stickie-bottom">Sticky bottom</div>
</div>
试试下面的代码。这将有助于解决您的问题。
body{
margin: 0;
}
.container {
height: 200px;
width: 200px;
overflow: auto;
background: red;
}
.content {
height: 400px;
width: 400px;
}
.stickie-top {
position: fixed;
left: 0;
top: 0;
}
.stickie-bottom {
position: sticky;
bottom: 0;
left: 0;
}
<div class="container">
<div class="stickie-top">Sticky top</div>
<div class="content">Lorem ipsum ...</div>
<div class="stickie-bottom">Sticky bottom</div>
</div>