2011-08-03 21 views
0

我刚刚发现,当我尝试更改使用YUI作为身体的background-color时,它不适用于FF5和Opera,但适用于IE和Chrome。但是,如果我为background设置颜色值,则它在FF和Opera中都可以使用。我认为background-color只是background的某种专业化。哪一个可以在所有浏览器中安全使用?有关代码可以在这里看到,background or background-color? Which one is safe to use?,我仍然有理解YUI如何处理事件的问题。我还在这里修改了代码页http://www.kumarchetan.com/yui-module.html,尝试使用IE,Chrome,FF和Opera访问此页面,并注意在不同浏览器中值变化的顺利程度。背景或背景颜色?哪一个可以安全使用?

+0

请问您可以显示一些代码。背景色可以在FF5中正常工作 –

回答

1

解决您的问题,添加此CSS:

html, body { 
    margin: 0; 
    padding: 0; 
    height: 100% 
} 

htmlbody不占用100%的高度,这是你需要处理mousemove事件是什么。 background为根元素is handled specially,但这与100%的高度不一样。

原因浏览器之间的不一致的行为可能与@ BoltClock的编辑做了,也可能是一个事实,即您的网页使用Quirks Mode,因为你没有一个DOCTYPE做。添加此作为第一行:

<!DOCTYPE html> 
+0

感谢一吨!我会用自己的饮料对待自己,也欢迎你:)但另一个问题为什么Chrome的行为会有所不同...... – Kumar

+0

你可以交叉发布解决方案到这个http://stackoverflow.com/questions/6922672/yui3-事件 - 不工作,在Firefox的 - 或 - 歌剧作品,精细的铬,虽然?我也将结束这个问题 – Kumar

3

这是因为YUI CSS reset设置html元素的background属性,而不是body,所以如果你想指定不同的页面背景颜色,这样做对html。它与background-color和速记background之间的任何兼容性问题无关,因为在所有浏览器中都完全支持这两个属性(CSS1版本)。

编辑:哦,你的意思是你使用YUI的JavaScript API ...在这种情况下,这是与DOM风格属性的差异。事实上,您必须使用camelCase符号来实现跨浏览器兼容性(这不仅适用于YUI,而且适用于DOM)。 IE和Chrome恰好也支持连字符的属性名称。

+1

It Strikes Again! – thirtydot

+0

@ thirtydot:对不起,因为你偷看了你的风头;) – BoltClock

+0

@BoltClock,man我不使用css。它与YUI的普通旧香草HTML页面。看看源代码,你会明白。 – Kumar

0

除非您设置图像和颜色,否则两者之间没有真正的区别。如果你只设置了一件事,那么你可以使用background

0

它们都可以在所有浏览器中安全使用。

background可以设置它的所有子属性,如background-color, background-image, background-position

因此,而不是设置

background-color: #fff; /* white */ 
background-image: url(path/to/image.png); 
background-repeat: repeat; /* or repeat-x, repeat-y, none */ 
background-position: top center; /* other options include bottom, right, left, along with pixel values and percentages*/ 
background-attachment: scroll; /* or fixed */ 

你可以写 background: #fff url(path/to/image.png) top center fixed;

0

+1到BoltClock的答案,因为这在这种情况下可能是正确的,但是我最近实际上遇到了与其他解决方案类似的情况,所以我认为我会分享。

在我的情况,有问题的元素有一个渐变背景:

background: -moz-linear-gradient(top, #c2c2c2, #ffffff); 

设置background-color有这个因素没有影响,因为梯度优先于色。我不得不使用background来覆盖它。