html - 列表标题的固定位置,在容器内
问题描述
我试图让可滚动列表的标题(h2)与该窗口保持固定,并且仅与该窗口相关。当我尝试position:fixed
时,标题相对于可滚动窗口是固定的,而且对于整个页面也是固定的。如何使固定定位仅适用于可滚动列表窗口?
HTML 代码
.sub-headlines {
position: relative;
height: 400px;
margin-top: 2%;
width: 55%;
overflow: auto;
border: 1px solid red;
}
.sub-headlines h2 {
width: 100%;
font-size: 80%;
text-align: center;
background-color: rgb(238, 253, 247);
z-index: 0;
}
.sub-headlines-title {
position: fixed;
}
.sub-headlines ul {
overflow: auto;
list-style: disc;
text-align: center;
line-height: 2;
z-index: -100;
}
<div div class="sub-headlines">
<h2>Recent Headlines in Aging Science</h2>
<div class="sub-headlines-list">
<ul>
<li>a</li>
<li>b</li>
<li>d</li>
<li>e</li>
<li>f</li>
<li>g</li>
</ul>
</div>
</div>
解决方案
position: absolute;
是选择。它与拥有的下一个更高的祖先有关position: relative
。使用top
// bottom
/参数来定位它和/或left
/ (也以百分比值)来定义它的大小,如果它应该大于它的内容。right
width
height
请记住,带有position: absolute;
(same as fixed
) 的元素不占用自己的任何空间,因此它们可以与其他元素重叠。为避免这种情况,您可以例如使用padding
父元素或margin
后续元素的设置来在绝对定位的子元素后面创建空白空间。
推荐阅读
- javascript - 快速发送文件夹中的文件
- electron - 如何用电子运行nestjs?
- html - 使用按钮将图像转换为 HTML 电子邮件签名
- reactjs - firestore 使用旧文档重新渲染更新的文档
- axios - nestjs/axios 无法处理双字节字符
- python - 如何使用 tkinter 在两个不同的进度条中显示文本?
- amazon-web-services - 我们可以在 aws 中请求 jwt id 令牌时添加自定义数据吗
- c# - Azure Functions 中的孤立异步任务
- java - 无法从枚举中强制转换
枚举 - c# - 在 C# 应用程序中从 Azure DevOps 获取构建测试结果