为什么 webkit 浏览器提醒 css 左位置值为 "auto",而值设置为 "0px"



请参阅此示例。

法典:

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

.CSS:

#slide-panel2 { left: 0px; }

为什么WebKit浏览器在实际值设置为0px时会提醒css left position值为auto

在Firefox和IE中,它会像预期的那样提醒0px

编辑:

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

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

将其更改为位置:相对给出预期的结果。

但根据这个参考:

position CSS 属性具有默认值static

static 顶部、右侧、底部和左侧属性不适用。

那么为什么警报在 Firefox 和 IE 中显示0px,而在 WebKit 浏览器中显示auto呢?

因为您的元素具有position: static(默认情况下(,因此它将忽略 left 属性的布局。浏览器只关心left(及其朋友(,如果你的position属性设置为 absoluterelativefixed

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

jsFiddle。

那么为什么 alert 在 Mozilla 和 IE 中显示0px,而在 WebKit 浏览器中显示auto呢?

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

最新更新