当我使用fixed定位的时候出现了一个很严重的问题:
打开网页的话是没问题的,如下:
当改变页面大小时,就变成如下这样:
可以很明显看出,网页大小改变的时候元素左右也跟着偏移
造成原因:
探究原因时我们先了解一下fixed定位:
使元素完全脱离文档流
使内联元素支持宽高(使内联元素具有块属性)
使块元素默认宽根据内容决定(让块具备内联的特性)
相对于整个浏览器进行偏移,不受滚动条的影响
主要就是最后一条造成的,它是相对于浏览器进行偏移,网页大小发生变化时就会造成一个严重的问题就是元素左右偏移,偏移之后看起来非常影响网页美观以及布局
具体说说解决办法:
当使用fixed定位的时候给定一个margin-left:xxxpx(具体的值根据所需要的位置调整),如果给的是matgin-right是无法变化的,margin-left才可以解决网页大小改变,因为在这里用的是left:50%,就要用margin-left调整(根据所要的效果调整数值,可以是负的值),反之也是要这样才能解决元素左右偏移的问题,代码如下:
这样弄完之后,页面缩放,不会造成元素偏移