2

このを参照してください。

コード:

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

CSS:

#slide-panel2 { left: 0px; }

実際の値がに設定されている場合、 WebKitブラウザがcssleft position値を警告するのはなぜですか?auto0px

FirefoxとIEでは、期待どおりにアラートが表示0pxされます。

編集:

アレックスが以下の彼の答えで述べたように(そして私は彼に同意します):

要素の位置はstatic(デフォルト)であるため、レイアウトに関してはleftプロパティを無視します。ブラウザは、positionプロパティがabsolute、relative、またはfixedに設定されている場合にのみ、left(およびそのフレンド)を考慮します。

それをposition:relativeに変更すると、期待される結果が得られます。

しかし、この参照によると:

positionCSSプロパティにはデフォルト値がありますstatic

また、static上、右、下、左のプロパティは適用されません。

0pxでは、FirefoxとIE、およびautoWebKitブラウザーでアラートが表示されるのはなぜですか?

4

1 に答える 1

4

要素にはposition: static(デフォルトで)があるためleft、レイアウトに関してプロパティを無視します。ブラウザは、プロパティが、、またはに設定されている場合にのみleft(およびそのフレンドを)気にします。positionabsoluterelativefixed

に変更するとposition: relative、期待どおりの結果が得られます。

jsFiddle

では、なぜアラート0pxがMozillaとIEおよびautoWebKitブラウザに表示されるのでしょうか。

ブラウザには異なる実装があり、必ずしも同意するとは限りません。表示されているブラウザでさえ、0pxそれをそのまま扱いautoます。

于 2012-09-03T07:44:32.007 に答える