下面的代码几乎完成了,但是当我向下滚动时,我被黄色和红色的::before/::after
元素卡住了。
黄色和红色的元素应该是可见的所有时间,我向下/向上滚动
任何帮助的人吗?
*{
box-sizing: border-box;
}
body{
margin:0;
padding: 80px 40px;
}
#container{
margin: 0 auto;
max-height: 300px;
height: 100%;
position: relative;
overflow-y: scroll;
}
.images{
border: 5px solid yellow;
display: flex;
flex-direction: column;
gap: 20px;
height: 100%;
padding: 20px;
}
.img {
height: 100px;
border-radius5px;
}
#container::before,
#container::after{
content:'';
position: absolute;
height: 30px;
width: 100%;
}
#container::before{
top:0;
background:yellow;
}
#container::after{
bottom:0;
background:red;
}
<div id="container" style="border: 5px solid red;">
<main class="images">
<div class="img div_1" style="background: green;"></div>
<div class="img div_2" style="background: green;"></div>
<div class="img div_3" style="background: green;"></div>
<div class="img div_4" style="background: green;"></div>
</main>
</div>
也许我在position
属性上做错了。我想我在css代码中缺少了一些小的调整。
1条答案
按热度按时间dl5txlt91#
你需要使用sticky positioning。