实现吸顶效果
在css中,使用position: sticky
可以实现类似手机通讯录每组标题吸顶的效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>吸顶效果</title>
<style>
h1 {
position: sticky;
top: 0px;
margin-bottom: 0px;
}
</style>
</head>
<body>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
<h1>我是标题</h1>
</body>
</html>
运行发现,虽然每个标题都吸顶了,但是标题并没有移出屏幕,而是留在了最上方。
解决方案
我们只需要给需要吸顶的元素套上一个div容器即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>搜索页</title>
<style>
div {
height: 100px;
}
h1 {
position: sticky;
top: 0px;
margin-bottom: 0px;
}
</style>
</head>
<body>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
<div>
<h1>我是标题</h1>
</div>
</body>
</html>
运行效果,可以看到前一个标题会被后面的标题顶出去。