携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情
1.sticky属性介绍
sticky翻译成汉语就是粘性的,粘等。利用粘贴属性可以十分容易的实现日常开发中的两个例子
- 吸顶效果
- 回到顶部效果
2.吸顶效果实现
如下图所示,当我们头部在页面滚动时始终吸附在页面顶部上
<!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>Document</title>
<style>
.header{
height: 50px;
background: red;
position: sticky;
position: -webkit-sticky;
top: 0;
}
.footer{
height: 1000px;
background-color: bisque;
}
</style>
</head>
<body>
<div class="box">
<div class="header">头部</div>
<div class="footer">底部</div>
</div>
</body>
</html>
使用总结
在需要吸顶的元素添加3行css代码即可。其中top表示距离自己初始位置的顶部偏移距离
.header{
position: sticky;
position: -webkit-sticky;
top: 0;
}
3.返回顶部实现
正常开发返回顶部功能,我们需要使用js去监听页面的滚动距离,并且需要配合css完成一系列操作才可以实现。
但是使用sticky属性,我们可以无需js的介入就可以完成返回顶部功能
示例
-
使用a标签,并添加href='#'。可以在点击a标签时页面自动回到最顶部。
-
逻辑是当页面滚出到一定位置,回到顶部按钮显示,因此我们只需要将a标签偏移到自己需要显示的位置上。然后使用sticky属性将a标签粘贴到这个位置上。
<!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>Document</title> <style> html,body{ scroll-behavior: smooth; } .content{ height: 2200px; background-color: bisque; } a{ /*基础样式--忽略*/ display: block; text-decoration: none; color:#fff; width: 80px; line-height: 80px; border-radius: 50%; background: blue; text-align: center; /*关键核心css*/ position: sticky; top: -100px; float: right; transform: translateY(100vh); margin-right: 20px; } </style> </head> <body> <div class="box"> <a href="#">返回顶部</a> <div class="content">内容区域</div> </div> </body> </html>
效果图
总结
以上是我的个人对sticky的小小了解,希望大家可以多多支持和喜欢,点赞,评论。