为了让某些东西始终保持在底部,使用 flexbox 的一种方法是使用一个包装器 div,从屏幕顶部移动到您想要的任何距离(如果有更多内容,则允许它走得更远)待显示)。然后为该 div 提供两个 div 子级,一个用于顶部,另一个用于底部。在 div 包装器上使用
space-between
将 div 隔开,并确保 flex-direction
属性设置为 column
,以便内容从上到下流动,然后底部内容 div 将始终位于 div 包装器的底部。请参阅下面的示例实现。
const pCountRange = document.getElementById("p-count");
const pDiv = document.getElementById("top");
pCountRange.addEventListener("input", () => {
let pCount = pCountRange.value;
while (pDiv.firstChild) {
pDiv.removeChild(pDiv.lastChild);
}
for (let i = 0; i < pCount; i++) {
let p = document.createElement("p");
p.textContent = "Always on the top!";
pDiv.appendChild(p);
}
});
#wrapper {
background-color: #eee;
width: 250px;
min-height: 300px;
padding: 10px;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 5px;
}
<!DOCTYPE html>
<html>
<body>
<input type="range" id="p-count" name="p-count" min="1" max="11" value="3">
<div id="wrapper">
<div id="top">
<p>Always on the top!</p>
<p>Always on the top!</p>
<p>Always on the top!</p>
</div>
<div id="bottom">
<p>I'm always at the bottom.</p>
</div>
</div>
</body>
</html>