为什么这个CSS不适用于Android上的Chrome,但在其他地方工作?

这真令我困惑。 我想pic.jpg在后台是静态的(滚动时不移动),并且不会拉伸。

它适用于除Chrome之外的所有浏览器(即Chrome,Safari,Firefox)(甚至可以在Android原始浏览器上运行)

body{ background-color: transparent !important; background-image: url(<%= asset_path "pic.jpg" %>); background-position: center center; background-repeat: no-repeat; background-attachment: fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; } 

Chrome浏览器为Android呈现它作为pic.jpg是在屏幕上的一半,而不是整个页面,并不保持静态滚动..

我不能在jsfiddle上重现它,我也尝试用我的Android手机进行debugging,似乎没有任何帮助。

这不是创build背景图片的方法吗?

Solutions Collecting From Web of "为什么这个CSS不适用于Android上的Chrome,但在其他地方工作?"

我不想残酷,但这个问题已经在大约四年前被报道过了

http://code.google.com/p/android/issues/detail?id=3301

最近的回应可以帮助我猜测:

在我的Android实验中,我发现身体内的所有其他DIV的行为都是正确的,包括居中,所以我将图像移动到另一个DIV,并且工作正常。

有趣的一个。

最好

我有类似的问题..我修好了这个

 html{ height:100%; min-height:100%; } body{ min-height:100%; } 

我find了一个解决方法,使Chrome浏览器在Android上正确显示背景:在html标记中定义背景,而不是在body中定义背景。 这里是新的CSS:

 html{ background-color: transparent !important; background-image: url(<%= asset_path "pic.jpg" %>); background-position: center center; background-repeat: no-repeat; background-attachment: fixed; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; } 

是的,这是有效的标记 。 根据我的经验,背景在其他浏览器中也能正常工作。