2 つのフローティング メニューがあります。下にスクロールすると、それらの位置が に設定されfixed、topとleftがウィンドウに対して相対的になります。期待どおりにウィンドウにくっつくようにleftプロパティを設定しました。0ただし、1またはそれ以上の数値に設定すると、コンテナーに固執します。
誰かが理由を知っていますか?
2 つのフローティング メニューがあります。下にスクロールすると、それらの位置が に設定されfixed、topとleftがウィンドウに対して相対的になります。期待どおりにウィンドウにくっつくようにleftプロパティを設定しました。0ただし、1またはそれ以上の数値に設定すると、コンテナーに固執します。
誰かが理由を知っていますか?
left:0 の代わりに left: 1px を使用する必要があります。
CSS では、任意のプロパティを 0 に設定する場合、単位 (px、em など) を指定する必要はありませんが、ゼロ以外の値 (ここでは 1) に設定する場合は、有効な単位について言及する必要があります。 .
.menuFloat{ z-index: 9999; position: fixed; left: 1px; top: 0; width: 100%;}
最終的な答え:
left: 0;- 正しい
left: 1;- 正しくない
left: 1px;またはleft: 1%;- 正しい
値 > 0 の場合、単位を指定する必要があります。
解決してよかった
bboy はすでに彼のコメントで次のように述べています。
left: 1;単位がないため、無効な値です (値が 0 でない限り、CSS のすべての長さの値には単位が必要です)。
また、これは、ここで発生している動作の説明でもあります。絶対配置または固定配置では、要素は、値を指定しない場合、まったく配置されていない場合、通常のフローでの水平位置にとどまりますleft(そのため、デフォルト値autoが適用されます)。また、無効な値を使用したため、事実上、値がまったく指定されていません。