简单理解sticky定位与fixed定位的区别

fixed:固定定位,相对于可视窗口定位,一但使用top,left绑定后,无论怎么滚动可视窗口区域(也就是滑动滚动条),它的位置都不会发生变化

sticky:粘性定位,相当于是相对定位和固定定位的结合,既有相对定位的保留自己原来位置的特点又有固定定位相对于可视窗口定位的特点,必须至少含有top,left,right,bottom中一个进行绑定,比如说position:sticky  top:100px;  margin-top:400px   那么就是说这个小盒子初始情况距离顶部400px,在向下滚动300px范围内都是相对定位展现,直到小盒子滚动到小盒子上边框距离浏览器可视窗口上沿的距离只有100px时,它转换为固定定位,就始终保持与可视窗口上沿100px的距离不再改变

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
引用\[1\]:position: sticky又称为粘性定位,是css3新增的。粘性定位的元素依赖于用户的滚动,在相对定位(relative)与固定定位fixed)之间进行切换,基于位偏移的值进行偏移。粘性定位可以被认为是相对定位和固定定位的混合,元素在跨越特定位偏移之前为相对定位,之后为固定定位。\[1\] 引用\[2\]:position: sticky可以简单理解为是static和fixed的结合。在父元素滑动过程中,子元素距离其父元素的距离达到sticky粘性定位的要求时,position: sticky的效果相当于fixed定位,固定到适当位置。\[2\] 引用\[3\]:在Vue2中使用position: sticky的示例代码如下: ```html <template> <div class="box"> <div class="box-scroll"> <div v-for="(item, index) in 10" :key="index">{{ index + 1 }}</div> <div class="box-scroll-sticky">我要悬浮在40px处</div> <div v-for="(item, index) in 100" :key="index">{{ index + 1 }}</div> </div> </div> </template> <script> export default {}; </script> <style lang="scss" scoped> .box { height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; &-scroll { height: 400px; width: 400px; background: #eee; overflow: auto; //父元素必须是scroll display: flex; flex-direction: column; position: relative; > div { width: 100%; height: 40px; border-bottom: 2px solid #fff; } &-sticky { position: sticky; top: 40px; //至少设置一个 background: red; color: #fff; } } } </style> ``` 以上示例代码中,使用了position: sticky来实现一个滚动容器内的元素在滚动到一定位置时固定在顶部。\[3\] 综上所述,position: sticky是一种CSS定位属性,它可以使元素在滚动过程中在特定位置固定。它的效果类似于相对定位和固定定位的结合,当元素距离其父元素的距离达到指定值时,元素会固定在该位置。在Vue2中,可以通过设置position: sticky来实现元素的粘性定位效果。 #### 引用[.reference_title] - *1* [position:sticky粘性定位的几种巧妙应用与理解。](https://blog.csdn.net/qq_51602285/article/details/126850899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* *3* [position:sticky粘性/悬浮定位](https://blog.csdn.net/Chuinj/article/details/130714048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值