2

请参阅此示例

代码:

alert( "slide-panel2 position: " + $('#slide-panel2').css("left") )

CSS:

#slide-panel2 { left: 0px; }

为什么 WebKit 浏览器会在实际值设置为时提醒 cssleft position值?auto0px

在 Firefox 和 IE 中,它会0px按预期发出警报。

编辑:

正如亚历克斯在下面的回答中所说(我同意他的观点):

因为你的元素有 position: static (默认情况下),所以它会忽略 left 属性关于它的布局。如果您的位置属性设置为绝对、相对或固定,浏览器只关心左(及其朋友)。

将其更改为 position: relative 会给出预期的结果。

但根据这个参考

positionCSS 属性具有默认值static

而在staticTop、right、bottom 和 left 属性不适用。

那么为什么0px在 Firefox 和 IE 以及autoWebKit 浏览器中会显示警报呢?

4

1 回答 1

4

因为你的元素有position: static(默认情况下),所以它会忽略left关于它的布局的属性。如果您的属性设置为,或,浏览器只关心left(及其朋友)。positionabsoluterelativefixed

将其更改为position: relative给出预期的结果。

js小提琴

那么为什么0px在 Mozilla 和 IE 以及autoWebKit 浏览器中会显示警报呢?

因为浏览器有不同的实现,不一定同意。即使是显示的浏览器0px仍然将其视为auto.

于 2012-09-03T07:44:32.007 回答