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
が適用されます)。また、無効な値を使用したため、事実上、値がまったく指定されていません。