0

2 つのフローティング メニューがあります。下にスクロールすると、それらの位置が に設定されfixedtopleftがウィンドウに対して相対的になります。期待どおりにウィンドウにくっつくようにleftプロパティを設定しました。0ただし、1またはそれ以上の数値に設定すると、コンテナーに固執します。

Left1に設定

Left0に設定

誰かが理由を知っていますか?

4

3 に答える 3

0

left:0 の代わりに left: 1px を使用する必要があります。

CSS では、任意のプロパティを 0 に設定する場合、単位 (px、em など) を指定する必要はありませんが、ゼロ以外の値 (ここでは 1) に設定する場合は、有効な単位について言及する必要があります。 .

更新された Jsfiddle リンク

.menuFloat{ z-index: 9999; position: fixed; left: 1px; top: 0; width: 100%;} 
于 2013-06-21T08:47:41.157 に答える
0

最終的な答え:

left: 0;- 正しい

left: 1;- 正しくない

left: 1px;またはleft: 1%;- 正しい

値 > 0 の場合、単位を指定する必要があります。

解決してよかった

于 2013-06-21T11:37:32.947 に答える
0

bboy はすでに彼のコメントで次のように述べています。

left: 1;単位がないため、無効な値です (値が 0 でない限り、CSS のすべての長さの値には単位が必要です)。

また、これは、ここで発生している動作の説明でもあります。絶対配置または固定配置では、要素は、値を指定しない場合、まったく配置されていない場合、通常のフローでの水平位置にとどまりますleft(そのため、デフォルト値autoが適用されます)。また、無効な値を使用したため、事実上、値がまったく指定されていません。

于 2013-06-21T08:52:42.110 に答える