请参阅此示例。
法典:
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
属性设置为 absolute
、 relative
或 fixed
。
将其更改为 position: relative
会给出预期的结果。
jsFiddle。
那么为什么 alert 在 Mozilla 和 IE 中显示
0px
,而在 WebKit 浏览器中显示auto
呢?
因为浏览器有不同的实现,不一定一致。即使是显示0px
的浏览器仍然将其视为auto
。