实现吸顶效果
在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>
运行效果,可以看到前一个标题会被后面的标题顶出去。

本文介绍了如何在CSS中使用position:sticky属性为类似手机通讯录的标题栏创建吸顶效果,并通过包裹div解决标题不会移出屏幕的问题。通过实例演示,读者将学会如何在实际项目中应用这一技术来提升用户体验。
2689

被折叠的 条评论
为什么被折叠?



