只需要给头部设置:
即可。
将position设置为sticky,那么头部组件还会占有着上方空间,所以下面的body中的组件可以不用设置预留top。如果是用的fixed属性,那么body下面的组件也要算出导航栏的长度,再设置top属性,这样一来就麻烦了很多
建议使用css实现,效果更佳,使用position: fixed,固定定位,具体位置的调整是用top、left、right、bottom也可以使用margin调整css实现代码
<div style="position: fixedtop:100pxleft: autoright: auto bottom: auto" ></div>
一般的网站的浮动广告以及浮动菜单等可以使用fixed来实现,js的话需要计算位置以及滚动条滚动时触发事件从而进行计算使用window.onscroll事件代码如下
HTML部分代码
<div style="position:absolutebackground-color:redwidth: 50pxheight: 50px" id="box"></div>
Javascript部分代码
window.onscroll=function(){
var box= document.getElementById("box")
var t = document.documentElement.scrollTop || document.body.scrollTop
box.style.top=t+"px"
}