我已经看到很多关于这个问题的线索,但我似乎无法找到解决办法。
我有一个带背景图像的div,其大小设置为覆盖。
除了移动设备之外,它在每个浏览器和设备上都能正常工作,每当我向上和向下滚动页面时,背景图像似乎都会调整大小。我还注意到了一个奇怪的错误,如果你将background-size:cover
放在background-image:url('')
之前它会忽略background-size
属性,但是如果你在声明背景图像之后放了它,它会检测大小并设置它要覆盖,但后来有一个奇怪的重新调整滚动错误。
这让我很生气!有人知道修复吗?
答案 0 :(得分:0)
您的问题不是后台封面,但是当您滚动页面时,浏览器的导航栏(地址栏)正在调整大小。这会导致将可用视口的大小调整为。并且由于您的背景设置为覆盖,它会尝试覆盖新的可用区域,并在调整图像大小时显示。
您可以拥有多种解决方案。
1.使您的全尺寸容器绝对或固定
2.加载页面后,将height
(或max-height
)提供给您的容器。加载页面后,即使页面滚动
根据页面的作用以及可能包含的其他内容,您需要进行一些调整。
此问题类似于具有封面背景,文本句子在调整大小时会断开新行,从而增加容器高度。
答案 1 :(得分:0)
对此的实际解决方案是在CSS中设置Text
。
请注意,这不能解决与URL栏高度有关的Chrome视口大小错误-也就是说,当您向上滚动并隐藏URL栏时,视口大小不会改变,html { height: 100% }
最终会被实际覆盖整个视口的距离约少50px。
您可以通过设置background: cover
来解决此问题,但是在修复错误后,这种行为可能会改变。
答案 2 :(得分:0)
我刚刚在浏览器上浏览铬时遇到了类似的问题。当我使用background-size: cover
样式时,图像似乎被放大了一点,这意味着我的所有居中位置都为“ off”,并且图形的右边缘模糊了。
我不得不将这种样式元素删除。
这个问题在65版的铬浏览器中不存在,但在72版中却给我带来了困扰。