【问题标题】:CSS Background COVER property doesnt works on PhoneCSS Background COVER 属性在电话上不起作用
【发布时间】:2014-04-13 06:08:46
【问题描述】:

我遇到了一个奇怪的问题:当我在我的Android 4.1 手机(默认浏览器)上打开一个网站时,背景图片没有按应有的方式覆盖背景。

这是手机屏幕:

代码片段,根据背景属性:

...
<meta name="viewport" content="width=device-width">
...
background: #fff url('img/main_bg.png')no-repeat center center;
-webkit-background-size: cover !important;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/main_bg.png', sizingMethod='scale')";
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/main_bg.png', sizingMethod='scale')";

虽然,我尝试过将 min-hegith 和 width 属性设置为 100 % - 并没有使事情奏效。

希望您有任何想法,如何解决这个问题。

【问题讨论】:

  • 在你的电脑上运行正常吗?
  • 是的,我只在我的 Android 手机上遇到了这个问题。 PC 上的所有浏览器都能正确显示(用图片覆盖所有背景)。

标签: android html css browser


【解决方案1】:

试试下面的代码 sn-p。为背景属性解析多个CSS标签似乎是原生Android浏览器的问题。因此,单独定义每个属性可能会有所帮助:

...
<meta name="viewport" content="width=device-width">
...
background-image:url('img/main_bg.png');
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
-webkit-background-size: cover !important;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/main_bg.png', sizingMethod='scale')";
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/main_bg.png', sizingMethod='scale')";

【讨论】:

  • 嗯,最终的解决方案是创建一个单独的
    元素(在同一层次结构级别),具有“固定”css 属性,100% w 和 h。元素没有子元素,因此背景现在可以正确显示。
  • 但这并不能解释为什么它可以在除原生 Android 浏览器之外的所有浏览器上运行
  • 是的,这不是最终的问题修复,我只是发布了一个可能的解决方案,比如用磁带修复。无论如何,如果对该网页设计有任何有用的事情,我会在这里发布。感谢您提供的所有帮助。祝你好运。
猜你喜欢
相关资源
最近更新 更多
热门标签