• 如何让position fixed不再基于浏览器窗口定位


     position:fixed默认是相对浏览器定位的。

    就是将某个元素固定在浏览器的某个确定的位置,不随滚动条的移动而变化;

     

    MDN对position: fixed有一个注释:

     

    当元素祖先的 transform 属性非 none 时,容器由视口改为该祖先。

     

    也就是说如果想让fixed不相对浏览器定位,只要给它的随便哪个祖先设上非none的transform,问题就解决了。这祖先可以是static的,也就是说随便哪个祖先都行。比如说给body设一个transform: translateZ(0);,测试有效。

     

    不过想让 position:fixed 的元素相对于父元素定位,应该改成 absolute 以及父元素 relative。而不是让 fixed 干不应该干的事。相对父元素定位需要position fixed吗?难道这是想搞事情啊!脱离党指导路线的都不是什么好路子!

     

    而且transform会对定位产生副作用,建议尽量避免一起使用。

  • 相关阅读:
    如何判断栈的增长方向
    时间复杂度
    shell基础part3
    shell基础part2
    shell基础part2
    linux基础part5
    linux基础part4
    linux基础part3
    linux基础part2
    shell基础part1
  • 原文地址:https://www.cnblogs.com/ranyonsue/p/11889057.html
Copyright © 2020-2023  润新知