我对jquery (1.4.2)和chrome 6有问题
margin-left:auto
margin-right:auto
$(id).css('margin-left');
$(id).css('margin-right');
都返回一个px值(ex:327 px)
发布于 2010-09-05 23:14:22
这是因为当指定边距:auto,Chrome (以及Safari,因为它们都使用WebKit)将边距-左和边距-右的计算值设置为相同大小的使用值。 而Firefox和IE将边距-左和边距-右的计算值设置为0px。因此,如果您有一个1000 if宽的页面,并且元素的宽度为50% (即:500 if),并且有边距:auto,那么Chrome将元素的边距(左侧和边距-右)的计算值设置为250 if(因此它用边距填充元素的边框与其父元素的内容边之间的所有空空间,这样就可以将元素水平居中)。 然而,Firefox和IE会将边距-左和边距-右的计算值设置为0px,因此元素的边框边缘和其父元素的内容边缘之间没有边距,但它仍然是居中的。使用Firefox中的Firebug和Chrome中的开发工具,您实际上可以看到这种情况的发生。在这里可以找到更深入的解释: http://www.3d3r.com/simon/marginAutoComputedValue
来自smnh在http://api.jquery.com/position/下的答案
请记住,您可以使用.position()
和.offset()
对维度进行更多的控制。
$(id).position().left
还是你真的想要MarginLeft
?
https://stackoverflow.com/questions/3649630
复制相似问题