用html和css实现导航栏粘滞效果
代码地址
https://gitee.com/kimu/front-style/tree/master/%E5%AF%BC%E8%88%AA%E6%A0%8F%E7%B2%98%E6%BB%9E%E6%95%88%E6%9E%9C
情景分析
- 在制作网站的过程中,会遇上这样一种情况,我们希望某个导航栏或者是一个长条在下滑的过程中向上移动,但是到了顶部的时候就固定不动的效果
- 对于这种情况,很多人会想到用javascript来控制,通过计算导航栏与页面最上方的距离来实现粘滞效果,但是实际上仅仅通过css就可以实现
css部分
.sticky {
position: sticky;
top: 0px;
height: 40px;
width: 100%;
background-color: lightskyblue;
}
.blank {
height: 1400px;
}
html部分
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="./css/sticky.css" />
</head>
<body>
<div class="blank"></div>
<nav class="sticky">
</nav>
<div class="blank"></div>
</body>
</html>
效果预览
一开始,导航栏在下方 右边滑轮还未到最下方,导航栏粘滞在顶部 即使到了最下方,依然粘滞在顶部
|