我按照一些教程创建了一个基于CSS的浮动滚动到顶部按钮。然而,我注意到最后一个HTML元素(例如最后一行)下面有额外的空白空间。额外的空白空间的高度与我的按钮高度(50px)相匹配。
我还尝试添加一个额外的div标签来封装arrowUp div标签,间隙减小了,但仍然有一些较小但明显的空白空间。
我想知道是否有一种方法可以避免额外的空白空间?
#arrowUp { position: sticky; width: 50px; bottom: 120px; background: #699462; border-radius: 10px; aspect-ratio: 1; margin-left: auto; margin-right: 20px; // margin-bottom: 150px; } #arrowUp a { content: “”; position: absolute; inset: 25%; transform: translateY(20%) rotate(-45deg); border-top: 5px solid #fff; border-right: 5px solid #fff; }
前>第一行。
最后一行。
>
我认为在你的情况下,最好使用
position: fixed;
而不是sticky
。请注意,你需要设置right: 0;
来将“按钮”定位在屏幕的右边缘。或者,你可以设置right: 20px;
并删除margin属性。快速解释
“额外的空白”之所以存在,是因为使用
sticky
时,元素被定位到文档的正常流程中。这就像使用position: relative;
并设置top: -20px
一样-元素会向上移动20px,但原始空间被保留,因为它“停留”在文档流中。而使用position: fixed;
会将元素从文档流中取出。我建议阅读关于CSS中的文档流和定位的相关内容: