我想要一种优雅的方法来“收集”窗口顶部的多级标题,当用户滚动时,
我知道这里的CSS是按照设计要求工作的,但是否有一种优雅的方式使其按照我的要求工作呢?我已经尝试将
position:sticky
可以让我完成90%的工作。以下代码段的效果正如我所希望的一样,但有一个异常:当Header 2b到达最上面时,Header 3b仍然可见。由于Header 3b应该是Header 2a的“子项”,我希望它在Header 2b到达最上面时要么滚动消失,要么被隐藏。(不出所料,Header 1b和Header 2d也有同样的问题。)我知道这里的CSS是按照设计要求工作的,但是否有一种优雅的方式使其按照我的要求工作呢?我已经尝试将
p
设置为white
的background-color
并且改变z-index
, 但都没有成功。
h1, h2, h3 {
position: -webkit-sticky;
position: sticky;
top: 0px;
}
h1 {
background-color: red;
height: 35px;
}
h2 {
background-color: blue;
height: 25px;
top: 35px;
}
h3 {
background-color: green;
height: 20px;
top: 60px;
}
<h1>Header 1a</h1>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h2>Header 2a</h2>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3a</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3b</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h2>Header 2b</h2>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3c</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3d</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h1>Header 1b</h1>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h2>Header 2c</h2>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3e</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3f</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h2>Header 2d</h2>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3g</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>
<h3>Header 3h</h3>
<p>Lorem ipsum dolor sit amet, no qui quis eloquentiam.</p>