position: sticky;粘性定位

亦凉 2022-12-02 00:50 350阅读 0赞

想整个滚动条插件,但是里面的元素如果用absolute定位的话,会跟随滚动条滚动,fixed也不好用,偶然查到position: sticky;,确实可以解决这个问题(但兼容很差),先谷歌用着吧

position: sticky; 基于用户的滚动位置来定位。

粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

注意: Internet Explorer, Edge 15 及更早 IE 版本不支持 sticky 定位。 Safari 需要使用 -webkit- prefix;

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <style>
  7. *{
  8. margin: 0;
  9. padding: 0;
  10. box-sizing: border-box;
  11. }
  12. .box {
  13. height: 300px;
  14. width: 100%;
  15. margin: 0 auto;
  16. background-color: red;
  17. position: relative;
  18. overflow: scroll;
  19. margin-top: 20px;
  20. }
  21. .abso{
  22. position: sticky;
  23. top: 0;
  24. left:0;
  25. width: 110%;
  26. height: 50px;
  27. background-color: green;
  28. }
  29. .msg{
  30. width: 110%;
  31. height: 600px;
  32. background: red;
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <div class="box">
  38. <div class="abso">
  39. 123123
  40. </div>
  41. <div class="msg">
  42. <p>123123sdasd</p>
  43. <p>123123sdasd</p>
  44. <p>123123sdasd</p>
  45. <p>123123sdasd</p>
  46. <p>123123sdasd</p>
  47. <p>123123sdasd</p>
  48. <p>123123sdasd</p>
  49. <p>123123sdasd</p>
  50. </div>
  51. </div>
  52. </body>
  53. </html>

发表评论

表情:
评论列表 (有 0 条评论,350人围观)

还没有评论,来说两句吧...

相关阅读

    相关 position:sticky

    1、position:sticky简介 设置了`position:sticky`的元素并不会脱离文档流。 当元素在区域内,元素不受定位的影响(`top`、`lef

    相关 position: sticky粘性定位

    > 想整个滚动条插件,但是里面的元素如果用absolute定位的话,会跟随滚动条滚动,fixed也不好用,偶然查到position: sticky;,确实可以解决这个问题(但兼

    相关 position中的sticky

    设置了sticky的元素,在屏幕范围(viewport)时该元素的位置并不受到定位影响(设置是top、left等属性无效),当该元素的位置将要移出偏移范围时,定位又会变成fix