当背景图像应延伸页面的全长时,在页面右侧显示的空白区域

Dav*_*ave 99 html css

我们的网页背景图片在FireFox以及iPad/iPhone上的iOS中存在问题,页面右侧显示空白区域.

背景图片在其他浏览器上可以很好地扩展,但我们很难在这些浏览器上扩展浏览器的全长.

快来看看我们的火狐网站,看看我的意思.

Rio*_*ams 239

我补充说:

html,body
{
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden; 
}
Run Code Online (Sandbox Code Playgroud)

进入你的CSS高于其他类的顶部,它似乎解决了你的问题.

您可以在此处获得更新的.css文件

  • 我在使用此代码在safari iphone上滚动时出现问题,它变得非常慢.我发现它最终是高度的组合:100%和overflow-x:隐藏,所以我删除了高度:100%并且效果更好. (22认同)
  • 我发现bootstrap的'row'类给出了{margin-right:-15px},这导致我的页面出现这种情况. (3认同)
  • 对于@JosephK 的观点,这个问题通常是由于错误使用 Bootstrap 的容器、行和列对象引起的,这些对象使用填充和负边距来完美地相互抵消,但只有在正确使用时才能一致。不然就断了!根据我的经验,这是右侧出现空白的最常见原因之一。对于 Bootstrap 的容器、行、列的精彩、直观的解释,包括对这个问题和其他问题的讨论,阅读这个(不,我没有写):http://www.helloerik.com/the-subtle-神奇的背后为什么引导程序 3-grid-works (3认同)
  • 真棒,这只是为我修复了一段时间困扰我的错误! (2认同)

opt*_*tes 109

调试CSS的Ghost CSS元素.

使用此书签调试您的CSS:http://wernull.com/2013/04/debug-ghost-css-elements-causing-unwanted-scrolling/

或者直接添加CSS:

* {
  background: #000 !important;
  color: #0f0 !important;
  outline: solid #f00 1px !important;
}
Run Code Online (Sandbox Code Playgroud)

就我而言,Facebook Like Button导致了这个问题.

  • 精彩的解决方案!这将帮助您找到问题的根源并正确修复它,它需要的只是几行css. (4认同)
  • 这应该是IMO接受的答案.我敢打赌,大多数人使用100vw作为某事物的宽度并因此得到了这个bug.简单地隐藏溢出是次优解决方案. (3认同)
  • 这真的派上用场了 (2认同)
  • 这令人印象深刻,在那个该死的空白上花了 2 个小时,这解决了它。 (2认同)

小智 54

在探索了这里提供的一些有用的策略后,我发现我只需要添加iOS特定的CSS(我把它放在我的主要CSS表的底部.)似乎隐藏了溢出-x是我的答案.我认为将宽度设置为100%有助于我的内容变宽.应该注意的是,我在iOS中只遇到了这个问题.如果它也在Firefox中,则可能只使用html和body块,因为@media专门针对移动设备.

@media
only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5){

  html,
  body{
    width:100%;
    overflow-x:hidden;
  }

}
Run Code Online (Sandbox Code Playgroud)

如果对任何人来说这看起来不正确,请哼我

  • 这是解决我问题的唯一方法 (5认同)
  • 谢谢 - 对我来说最好的修复。也相当不引人注目 (2认同)
  • 对我来说最好的答案! (2认同)

hyp*_*hen 28

这是一个非常古老的问题,但我想我会增加2美分.我已经尝试了上面的解决方案,包括ghost css,我肯定会将其保存以备将来使用.但这些都不适用于我的情况.以下是我解决问题的方法.希望这会帮助别人.

打开检查器(或任何您的偏好)并从body标签中的第一个div开始,添加display: none;到该元素.如果滚动条消失,您知道该元素包含导致问题的元素.然后,删除第一个css规则并向下一级进入包含元素.将css添加到该div,如果滚动条消失,您知道该元素要么导致,要么包含有问题的元素.如果添加CSS什么都不做,你知道不是导致问题的那个div,并且容器中的另一个div导致它,或容器本身导致它.

这可能对某些人来说太耗时.幸运的是,我的问题出现在标题中,但我可以想象,如果您的问题是在页脚或其他内容中说出来的话会花费一些时间.


Hom*_*Hom 9

overflow-x: hidden; 适合我.


DMi*_*Min 5

问题出在文件中:

style.css - 第721行

#sub_footer {
    background: url("../images/exterior/sub_footer.png") repeat-x;
    background: -moz-linear-gradient(0% 100% 90deg,#102c40, #091925);
    background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#091925), to(#102c40));
    -moz-box-shadow: 3px 3px 4px #999999;
    -webkit-box-shadow: 3px 3px 4px #999999;
    box-shadow: 3px 3px 4px #999999;
    padding-top:10px;
    font-size:9px;
    min-height:40px;
}
Run Code Online (Sandbox Code Playgroud)

删除行:

-moz-box-shadow: 3px 3px 4px #999999;
-webkit-box-shadow: 3px 3px 4px #999999;
box-shadow: 3px 3px 4px #999999; 
Run Code Online (Sandbox Code Playgroud)

这基本上只给页脚提供了阴影渐变.在Firefox中,它是导致问题的第一行.