你这个问题一般来容易错位的原因有:
1、宽度计算的太紧,也就是子级宽度总和正好等于父级的宽度,有时候某些样式会导致不同浏览器显示的值会有所不同,比如margin左右边距或者boder的计算值等;
2、html代码的排布顺序问题,比如两个同级的标签一个加了float:left一个加了float:right那么一般防止出错的话会把设定了float:right的标签写在设定了float:left的标签上面,也就是先谢左浮动的再写右浮动的;这样浏览器解析的时候就相当于先右浮动再左浮动;举例如下:
<div style="width:300pxheight:22px">
<div style="float:leftwidth:150pxheight:22px"></div>
<div style="float:rightwidth:140pxheight:22px"></div>
</div>
改为:
<div style="width:300pxheight:22px">
<div style="float:rightwidth:140pxheight:22px"></div>
<div style="float:leftwidth:150pxheight:22px"></div>
</div>
如果你宽度设定的没问题的话我认为你这个问题的原因应该是第二条
问题描述得不清楚。光从你这几CSS代码,并不会产生兼容性问题。
zoom属性只有当对象的position属性为absolute,或者relative才会有效果。
另外给你建议,调试网站兼容性一定不要在IE中调试。最好是用火狐浏览器。火狐浏览器有一个fireBug插件功能强大。弄懂了如何使用fireBug,那么对你学习CSS帮助将非常大。