浏览器对居中的背景图片的兼容性
在IE5.5至IE7 、Safari、chrome中,当浏览器窗口少于内容宽度时,居中的背景图片转向以body左对齐。而在Opera及FF中,居中的背景图片依然以缩小的窗口宽度居中对齐,当浏览器窗口宽度少于内容宽度时,拖动横行滚动条就能察觉到页面内容与背景会有错位的现象。A1_Demo
从测试结果得知Opera及FF中的,浏览器窗口宽度少于内容宽度时,内容块以body 左对齐。这里有一个突破点是在于把body转变为具有内容板块的特性。
按照CSS的解析,个人认为在Opera及FF中所显示的为正确效果,在IE5.5至IE7 、Safari、chrome中否则为错误的解析。但错误的解析正是我们所需要的,因为此能避免有内容与背景会有错位的现象。
解决方案
下面方案针对Opera及FF,目的令背景图片向body左对齐

poor 2008 十一月 20th at 17:14 Says:以前发现过,但没有去想这个解决方案,影响并不大。77给的解决方案不错,学习了!

weilaixu 2008 十一月 20th at 18:48 Says:一直认为77是个好孩子!

木 黄 2008 十一月 21st at 12:14 Says:可怜的菜鸟木还没有遇到,给代码我拉~

moomu 2008 十一月 23rd at 17:08 Says:display:table现在就可以用了吗?

Gulu77 2008 十一月 24th at 13:02 Says:在没有更好的办法之前我建议可以尝试使用display:table

mm 2008 十二月 12th at 16:22 Says:1.你这里的背景图片是指放在哪里的背景图片?我有点看不是很明白第一句话
2.”在IE5.5至IE7 、Safari、chrome中,当浏览器窗口少于内容宽度时,居中的背景图片转向以body左对齐。”
我怎么觉得这句话有点不确切,要看背景图片是放在什么样的容器中吧?
3.在ie6、7 下:
×背景如果是放在相对body的宽度为100%的标签里,背景图片是相对于浏览器的窗口居中的,在浏览器窗口少于内容宽度时,也会出现文章中所说的错位的问题。
4.×背景如果是放在固定宽度的标签里,才是转向以body左对齐。而且这个转向body左对齐也不是背景转向,而是所在标签转向,所以背景也转向
5.×背景如果是放在body里面,在浏览器窗口少于内容宽度时,ie7同样也会出现错位的问题。 ie6则不会。
回复mm
1.所指的是body背景图片
2.3.4 在此文章中注要针对body为解决事例,延伸的问题可参考页面元素的背景及boder被裁掉

mm 2008 十二月 12th at 16:33 Says:呃,针对Opera及FF的解决方案很强大,学习了,呵呵

chami 2009 六月 2nd at 21:22 Says:那如果以FF为标准应该怎样设置样式呢